3

半径を増やしながら、1 つの一意のポイント 0,0,200 を通過して、z 軸に沿って新しい球の原点を効果的に移動する、threejs で球を作成するにはどうすればよいですか。

ありがとう、アリエムウェブグル

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 に答える