首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Threejs入门之三:让物体跟随鼠标动起来

上一节我们创建了一个三维的立方体,将其放在了浏览器窗口中,但是目前来讲它只是一个静态的图片,我们并不能通过鼠标控制其旋转、缩放和移动,这一节我们来实现用鼠标控制物体的运动。 首先我们要了解一个概念,在三维场景中,我们要控制物体旋转,实际上不是物体在旋转,而是我们的相机(还记得上一节中说的相机吗)在围绕物体旋转,就像电影中的镜头拉近一样,是相机在动,不是物体在动,所以,在Threejs中要想让我们的物探动起来,我们需要引入一个轨道控制器(OrbitControls),它可以使得相机围绕目标进行轨道运动,下面我们来实现下 1.导入轨道控制器OrbitControls OrbitControls是ThreeJS的一个扩展库,其本身不在threejs的基础库里面,其位于threejs—examples—jsm—controls文件夹下面,我们在上一节引入threeJS的下面添加如下代码进行引入

03

Threejs入门之十二:认识Threejs中的材质

材质是描述对象的外观,Threejs中提供了很多材质的API,今天我们来了解几个常用的材质类API 1.Material Material是所有材质的基类,所有继承自Material的材质都基础了Material的属性和方法,Material常用的属性有: alphaTest:控制透明度的alpha值,默认值为0,如果设置不透明度(opacity)低于此值,则不会渲染材质。 depthTest:是否在渲染此材质时启用深度测试。默认为 true depthWrite : 渲染此材质是否对深度缓冲区有任何影响。默认为true id : 材质实例的唯一编号 needsUpdate:指定需要重新编译材质 opacity : 在0.0 - 1.0的范围内的浮点数,表明材质的透明度。值0.0表示完全透明,1.0表示完全不透明。如果材质的transparent属性未设置为true,则材质将保持完全不透明,此值仅影响其颜色。 默认值为1.0。 side:定义材质将要渲染哪一面 (正面,背面或两面)。 默认为THREE.FrontSide(正面)。另外两个选项为THREE.BackSide(背面)和THREE.DoubleSide(两面) transparent :定义材质是否透明,默认为false visible: 材质是否可见。默认为true 2.MeshBasicMaterial MeshBasicMaterial,基础网格材质,我们在前面已经用过好多次了,这种材质不受光照的影响,没有阴影;但是可以给它设置颜色、不透明度

01
领券