gpt4 book ai didi

javascript - THREE.js 粒子/点云

转载 作者:行者123 更新时间:2023-12-03 10:19:33 26 4
gpt4 key购买 nike

我正在尝试让一些轨道物体留下痕迹。为此,我创建了一个粒子系统,其中包含三个几何体、三个点云和三个点云 Material :

particleMaterial = new THREE.PointCloudMaterial({ 
color: 0xFFFFFF, size: 1, sizeAttenuation: false
});
particles = new THREE.Geometry;
particles.verticesNeedUpdate = true;
particles.dynamic = true;
particleSystem = new THREE.PointCloud( particles, particleMaterial );
scene.add( particleSystem );

为了生成几何体的顶点以形成轨迹,我在动画循环中创建它们,并从它们要在该时间点提供轨迹的对象中复制位置:

function animate() {
if ( nodesArray.length > 0 ) {
for ( var i = 0; i < nodesArray.length; i++ ) {
nodesArray[i].position.x = Math.sin( nodesArray[i].counterX ) * 50;
nodesArray[i].position.z = Math.cos( nodesArray[i].counterZ ) * 50;
nodesArray[i].position.y = Math.cos( nodesArray[i].counterY ) * 50;
nodesArray[i].counterX += .01;
nodesArray[i].counterZ += .01;
nodesArray[i].counterY += .01;

var particle = new THREE.Vector3();
particle.copy( nodesArray[i].position );
particles.vertices.push( particle );
particles.verticesNeedUpdate = true;
}
}

requestAnimationFrame( animate );
renderer.render( scene, camera );
}

这是一个jsfiddle:http://jsfiddle.net/jayfield1979/184kbyLr/

每个对象的第一个顶点被添加到正确的位置。但后续顶点未注册。

我这样做是否正确,如果是的话,是什么坏了?或者有更好的办法吗?

最佳答案

https://github.com/mrdoob/three.js/wiki/Updates

请阅读“几何”。您无法向几何体添加新顶点,这就是为什么只有第一个顶点可见。

关于javascript - THREE.js 粒子/点云,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29707529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com