three.js Line
一条连续的线。
它几乎和LineSegments是一样的,唯一的区别是它在渲染时使用的是gl.LINE_STRIP, 而不是gl.LINES。
代码示例
const material = new THREE.LineBasicMaterial({ color: 0x0000ff }); const points = []; points.push( new THREE.Vector3( - 10, 0, 0 ) ); points.push( new THREE.Vector3( 0, 10, 0 ) ); points.push( new THREE.Vector3( 10, 0, 0 ) ); const geometry = new THREE.BufferGeometry().setFromPoints( points ); const line = new THREE.Line( geometry, material ); scene.add( line );
构造器
Line( geometry : BufferGeometry, material : Material )
geometry —— 表示线段的顶点,默认值是一个新的BufferGeometry。
material —— 线的材质,默认值是一个新的具有随机颜色的LineBasicMaterial。
属性
共有属性请参见其基类Object3D。
.geometry : BufferGeometry
表示线段的顶点。
.isLine : Boolean
只读标志,用于检查给定对象是否为 Line 类型。
.material : Material
线的材质。
.morphTargetInfluences : Array
通常为 0-1 的权重数组,指定应用了多少变形。默认情况下未定义,但通过 .updateMorphTargets() 重置为空数组。
.morphTargetDictionary : Object
基于 morphTarget.name 属性的 morphTargets 字典。默认情况下未定义,但重建了 .updateMorphTargets()。
方法
共有方法请参见其基类 Object3D。
.computeLineDistances () : this
计算LineDashedMaterial所需的距离的值的数组。 对于几何体中的每一个顶点,这个方法计算出了当前点到线的起始点的累积长度。
.raycast ( raycaster : Raycaster, intersects : Array ) : undefined
在一条投射出去的Ray(射线)和这条线之间产生交互。 Raycaster.intersectObject将会调用这个方法。
.clone () : Line
返回这条线及其子集的一个克隆对象。
.updateMorphTargets () : undefined
更新 morphTargets 以对对象没有影响。重置 .morphTargetInfluences 和 .morphTargetDictionary 属性。
更多建议: