codecamp

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 属性。

源代码

src/objects/Line.js


three.js InstancedMesh
three.js LineLoop
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

参考

核心 / BufferAttributes

渲染器 / WebXR

开发者参考

WebGL渲染器

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }