three BufferGeometry顶点的两种添加方式

//方式一
const lineGeometry = new THREE.BufferGeometry();
				const points = [];

				const point = new THREE.Vector3();
				const direction = new THREE.Vector3();
				for ( let i = 0; i < 50; i ++ ) {

					direction.x += Math.random() - 0.5;
					direction.y += Math.random() - 0.5;
					direction.z += Math.random() - 0.5;
					direction.normalize().multiplyScalar( 10 );

					point.add( direction );
					points.push( point.x, point.y, point.z );

				}
				lineGeometry.setAttribute( 'position', new THREE.Float32BufferAttribute( points, 3 ) );
// 方式二
let geometry = new THREE.BufferGeometry();
let lineMaterial = new THREE.LineBasicMaterial({
  color:"#ff0000"
})
let vertices = new Float32Array([
  20,20,0,
  20,-20,0,
  -20,-20,0,
  -20,20,0
])
geometry.setAttribute('position',new THREE.BufferAttribute(vertices,3))
// let line = new THREE.Line(geometry,lineMaterial) //连续的线
// let line = new THREE.LineLoop(geometry,lineMaterial)//会自动闭合的线
let line = new THREE.LineSegments(geometry,lineMaterial)//两个为一组的线
scene.add(line)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在奔跑的鱼儿

如果你觉得好你就砸过来!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值