3

如何在threejs中创建半径增加但通过一个唯一点0,0,200的球体,有效地沿z轴移动新球体的原点。

谢谢你,AriemWebgl

4

2 回答 2

4

创建一个“父”Object3D 并将球体附加到它;当您移动父对象时,附加的对象将一起移动。

var sphereParent = new THREE.Object3D();
var numSpheres = 8;
for(var i = 0 ; i < numSpheres; i++)
{
   var radius = 10 + i;
   var sphereGeometry = new THREE.SphereGeometry( radius, 16, 8 );
   var sphereMaterial = new THREE.MeshLambertMaterial( { color: 0x0000ff } );
   var sphere = new THREE.Mesh( sphereGeometry, sphereMaterial );
   sphereParent.add( sphere );
}
sphereParent.position.set(0,0,200);
scene.add(sphereParent);
于 2012-08-07T18:52:06.523 回答
0

我想这只是创建一些网格并改变它们的位置的问题:

var numSpheres = 8;
for(var i = 0 ; i < numSpheres; i++){
   var radius = 10 + (5*i);//increase the radius based the counter
   var sphere = new THREE.Mesh( new THREE.SphereGeometry( radius, 26, 18 ), new THREE.MeshLambertMaterial( { color: 0xffffff, shading: THREE.FlatShading, overdraw: true, wireframe:true } ) );
   sphere.position.z = 200;//or sphere.position.set(0,0,200);
   scene.add( sphere );
}
于 2012-08-07T08:15:42.970 回答