网格(Mesh)

优质
小牛编辑
151浏览
2023-12-01

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

代码示例

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

构造器

Mesh( geometry : BufferGeometry, material : Material )

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

属性

共有属性请参见其基类Object3D

.geometry : BufferGeometry

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