Javascript three.js使用点制作烟雾效果
我想通过使用点来产生这样的烟雾效果。现在我有两个问题Javascript three.js使用点制作烟雾效果,javascript,animation,three.js,Javascript,Animation,Three.js,我想通过使用点来产生这样的烟雾效果。现在我有两个问题 在动画开始时,所有点聚集在一起并像云一样向上移动 效果的形状看起来像一个矩形棱镜。如何使它看起来像一个圆锥体(如下图) 有人能告诉我如何解决这些问题吗?谢谢 let渲染器、场景、摄影机; 让控制,统计; //要点 常量粒子计数=500; 让点; 函数createPoints(){ const geometry=新的3.geometry(); const texture=new THREE.TextureLoader().load('htt
let渲染器、场景、摄影机;
让控制,统计;
//要点
常量粒子计数=500;
让点;
函数createPoints(){
const geometry=新的3.geometry();
const texture=new THREE.TextureLoader().load('http://stemkoski.github.io/Three.js/images/smokeparticle.png');
让材质=新的三点材质({
尺码:15,
贴图:纹理,
混合:3.可加性贷款,
depthWrite:false,
透明:是的,
颜色:“rgb(30,30,30)”
});
常数范围=10;
for(设i=0;i=100)v.y=0;
});
points.geometry.verticesNeedUpdate=true;
}
函数render(){
pointsAnimation();
请求动画帧(渲染);
控件更新();
渲染器。渲染(场景、摄影机);
}
addEventListener('resize',function()){
camera.aspect=window.innerWidth/window.innerHeight;
camera.updateProjectMatrix();
renderer.setSize(window.innerWidth、window.innerHeight);
});
init();
render()代码>
正文{
保证金:0;
溢出:隐藏;
}
您只需根据点x设置velocityX
,例如:
point.velocityX = THREE.Math.randFloat(0.0, 0.1) * Math.sign(x);
不要忘记重置x位置:
if (v.y >= 100) {
v.x = THREE.Math.randInt(-10, 10);
v.y = 0;
}