three.js Line

2023-02-16 17:47 更新

一条连续的线。

它几乎和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 属性。

源代码

src/objects/Line.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号