Skip to content

Line

一条连续的线。

它几乎和LineSegments是一样的,唯一的区别是它在渲染时使用的是gl.LINE_STRIP, 而不是gl.LINES

image-20231006180113271

Points类继承自Object3D

1.构造函数

js
Line(geometry: BufferGeometry, material: Material)

参数:

  • geometry:表示线段的顶点,默认值是一个新的BufferGeometry
  • material:线的材质,默认值是一个新的具有随机颜色的LineBasicMaterial

2.属性

共有属性请参见其基类Object3D。

geometry

类型:BufferGeometry

表示线段的顶点。

isLine

类型:Boolean

只读,判断一个物体是否为Line

material

类型:Material

线的材质。

morphTargetInfluences

类型:Array

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

morphTargetDictionary

类型:Object

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

3.方法

共有方法请参见其基类 Object3D。

computeLineDistances

计算LineDashedMaterial所需的距离的值的数组。 对于几何体中的每一个顶点,这个方法计算出了当前点到线的起始点的累积长度。

js
computeLineDistances(): this

返回值:返回调用对象本身

raycast

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

js
raycast(raycaster: Raycaster, intersects: Array): undefined

参数:

  • raycaster:这是一个 THREE.Raycaster 对象,它包含了射线的起点和方向。你可以通过这个对象获取射线的相关信息,比如起点、方向等。
  • intersects:这是一个数组,用于存储相交的结果。通常在这个数组中,你需要将每个相交的对象信息(例如,距离、法向量等)添加进去,以便于后续处理。

clone

克隆一个Line对象

js
clone(): Line

返回值:返回这条线及其子集的一个克隆对象。

updateMorphTargets

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

js
updateMorphTargets () : undefine

MIT Licensed