Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以三种颜色赋予每个点自己的颜色_Javascript_Three.js - Fatal编程技术网

Javascript 如何以三种颜色赋予每个点自己的颜色

Javascript 如何以三种颜色赋予每个点自己的颜色,javascript,three.js,Javascript,Three.js,我正在使用ThreeJS创建点云。我想根据云的位置给每个点一个特定的颜色。如何为几何体中的每个竖梃指定特定颜色,并在必要时更改竖梃的颜色 geometry = new THREE.Geometry(); for (i = 0; i < particleCount; i++) { var vertex = new THREE.Vector3(); vertex.x = Math.random() * 2000 - 1000;

我正在使用ThreeJS创建点云。我想根据云的位置给每个点一个特定的颜色。如何为几何体中的每个竖梃指定特定颜色,并在必要时更改竖梃的颜色

geometry = new THREE.Geometry();

for (i = 0; i < particleCount; i++) {

            var vertex = new THREE.Vector3();
            vertex.x = Math.random() * 2000 - 1000;
            vertex.y = Math.random() * 2000 - 1000;
            vertex.z = Math.random() * 2000 - 1000;

            geometry.vertices.push(vertex);
        }

colors = [0xff0000, 0x0000FF, 0x00FF00, 0x000000]
size = 0.5

            material = new THREE.PointsMaterial({
                size: size,
                color: colors[0]
            });

particles = new THREE.Points(geometry, material);

scene.add(particles);
geometry=new THREE.geometry();
对于(i=0;i
r125
开始,
三个。几何体已弃用,不再是核心的一部分。强烈建议使用
THREE.BufferGeometry

可以通过添加包含顶点颜色的附加缓冲区属性来应用逐顶点颜色。您还必须将材质属性
VertexColor
设置为
true

let摄影机、场景、渲染器;
让点;
init();
制作动画();
函数init(){
摄像头=新的三个透视摄像头(27,window.innerWidth/window.innerHeight,53500);
摄像机位置z=2750;
场景=新的三个。场景();
scene.background=新的三种颜色(0x050505);
scene.fog=新的3.fog(0x0505050200003500);
//
常数粒子=500000;
const geometry=new THREE.BufferGeometry();
常量位置=[];
常量颜色=[];
const color=new THREE.color();
常数n=1000,n2=n/2;//粒子在立方体中扩散
for(设i=0;i
正文{
保证金:0;
}