【发布时间】:2016-01-19 23:07:24
【问题描述】:
我想在网格的上侧放置一个粒子。我看过几个添加粒子的教程。但在我见过的所有教程中,只有当它们是立方体或球体时它才有效。在这种情况下,我有一个自定义网格。对我来说,将一个粒子放入网格的几何形状中没有任何效果。如何在网格的上侧随机点放置一个粒子?
var extrusionSettings = {
bevelEnabled: false,
extrudeMaterial: 1, amount:3,
};
var Hexagon=new Array();
Hexagongeometry[0]= new Array();
Hexagongeometry[0].push(new THREE.Vector3(-3, 0.0, 0.0));
Hexagongeometry[0].push(new THREE.Vector3( -3, 3, 0.0));
Hexagongeometry[0].push(new THREE.Vector3( 0, 5, 0.0));
Hexagongeometry[0].push(new THREE.Vector3( 3, 3, 0.0));
Hexagongeometry[0].push(new THREE.Vector3( 3, 0, 0.0));
Hexagongeometry[0].push(new THREE.Vector3( 0, -3, 0.0));
Hexagongeometry[0].push(new THREE.Vector3( -3, 0, 0.0));
var HexagonShape=new Array();
HexagonShape[0] = new THREE.Shape( Hexagongeometry[0] );
var HexagonExtrude=new Array();
HexagonExtrude[0] = new THREE.ExtrudeGeometry( HexagonShape[0], extrusionSettings );
var material=new Array();
material[0] = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var Hexagon=new Array();
Hexagon[0] = new THREE.Mesh( HexagonExtrude[0],material[0] );
scene.add(Hexagon[0]);
var particleMaterial = new THREE.ParticleBasicMaterial({ size: 2, color: 0xff0000, transparency: true, alphaTest: 0.5 });
var particle = new THREE.ParticleSystem( HexagonExtrude[0], particleMaterial );
scene.add( particle);
它不起作用我将粒子放在网格的任何部分。在本例中,我将放入六边形 [0],它是一个网格。我尝试了很多方法,也看过几个教程,但正如我之前所说,它仅适用于立方体或球体。如果我能帮助让粒子在严重的网格点上有所帮助。那么你需要知道如何在我的网格中定位随机点时实现各种粒子。
我是 Three.js 的新手,我的英语不太好。希望你能理解。
【问题讨论】:
-
你还没有问过this question。此处已为您提供答案,请考虑支持/验证它。
-
@Atrahasis 他们是不同的,我问你一件事,另一件事是另一个问题。另一方面,我正在添加细节,我特地要求在上面放置一个粒子。
标签: javascript three.js