Object3D

网格(Mesh)

表示基于以三角形为polygon mesh(多边形网格)的物体的类。 同时也作为其他类的基类,例如SkinnedMesh

代码示例

const geometry = new v3d.BoxBufferGeometry(1, 1, 1); const material = new v3d.MeshBasicMaterial({ color: 0xffff00 }); const mesh = new v3d.Mesh(geometry, material); app.scene.add(mesh);

构造函数

Mesh(geometry : Geometry, material : Material)

geometry —— (可选)Geometry或者BufferGeometry的实例,默认值是一个新的BufferGeometry
material —— (可选)一个Material,或是一个包含有Material的数组,默认是一个新的MeshBasicMaterial

属性

共有属性请参见其基类Object3D

.geometry : Geometry

GeometryBufferGeometry 的实例或者派生类,定义了物体的结构。

如有可能,推荐总是使用BufferGeometry来获得最好的表现。

.material : Material

Material基类或者一个包含材质的数组派生而来的材质实例,定义了物体的外观。默认值是一个MeshBasicMaterial

.morphTargetInfluences : Array

一个包含有权重(值一般在0-1范围内)的数组,指定应用了多少变形。 默认情况下是未定义的,但是会被updateMorphTargets重置为一个空数组。

.morphTargetDictionary : Object

基于morphTarget.name属性的morphTargets字典。 默认情况下是未定义的,但是会被updateMorphTargets重建。

方法

共有方法请参见其基类Object3D

.clone() → Mesh

返回这个Mesh对象及其子级的克隆。

.raycast(raycaster : Raycaster, intersects : Array) → null

在一条投射出去的Ray(射线)和这个网格之间产生交互。 Raycaster.intersectObject将会调用这个方法。

.updateMorphTargets() → null

更新morphTargets,使其不对对象产生影响,重置morphTargetInfluences and morphTargetDictionary属性。

源代码

src/objects/Mesh.js