three.js Line

2023-02-16 17:47 更新

一條連續(xù)的線。

它幾乎和LineSegments是一樣的,唯一的區(qū)別是它在渲染時使用的是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 );

構(gòu)造器

Line( geometry : BufferGeometry, material : Material )

geometry —— 表示線段的頂點,默認(rèn)值是一個新的BufferGeometry。
material —— 線的材質(zhì),默認(rèn)值是一個新的具有隨機(jī)顏色的LineBasicMaterial。

屬性

共有屬性請參見其基類Object3D。

.geometry : BufferGeometry

表示線段的頂點。

.isLine : Boolean

只讀標(biāo)志,用于檢查給定對象是否為 Line 類型。

.material : Material

線的材質(zhì)。

.morphTargetInfluences : Array

通常為 0-1 的權(quán)重數(shù)組,指定應(yīng)用了多少變形。默認(rèn)情況下未定義,但通過 .updateMorphTargets() 重置為空數(shù)組。

.morphTargetDictionary : Object

基于 morphTarget.name 屬性的 morphTargets 字典。默認(rèn)情況下未定義,但重建了 .updateMorphTargets()。

方法

共有方法請參見其基類 Object3D。

.computeLineDistances () : this

計算LineDashedMaterial所需的距離的值的數(shù)組。 對于幾何體中的每一個頂點,這個方法計算出了當(dāng)前點到線的起始點的累積長度。

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

在一條投射出去的Ray(射線)和這條線之間產(chǎn)生交互。 Raycaster.intersectObject將會調(diào)用這個方法。

.clone () : Line

返回這條線及其子集的一個克隆對象。

.updateMorphTargets () : undefined

更新 morphTargets 以對對象沒有影響。重置 .morphTargetInfluences 和 .morphTargetDictionary 屬性。

源代碼

src/objects/Line.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號