静かでシンプルなものが欲しいと思っていたのですが、思ったよりも複雑でした..
私が欲しいのは、THREE.BufferGeometry
(球)のすべての頂点のメッシュだけです!
コードペン: codepen.io/cheesyeyes/pen/YwBZGz
これは私のバッファジオメトリです:
var bufferGeometry = new THREE.SphereBufferGeometry(1,1,1);
頂点の位置を取得しようとしています:
bufferGeometry.getAttribute('position',0);
では、bufferGeometry のすべての頂点 (ここでは 5 つ) の位置を取得するために、それらを正しく読み取るにはどうすればよいでしょうか?
こんな感じでやってみました。それは実際には機能しますが、非常に醜いと思います:
vertexMesh.position.x=position.array[0];
vertexMesh.position.y=position.array[1];
vertexMesh.position.z=position.array[2];
for(i=12;i<position.array.length-9;i=i+3)
{
//vertexGeometry
var vertexGeometry = new THREE.SphereGeometry(0.1,32,32);
var vertexMaterial = new THREE.MeshBasicMaterial({color:0xff0000});
var vertexMesh = new THREE.Mesh(vertexGeometry,vertexMaterial);
vertexMesh.position.x=position.array[i];
vertexMesh.position.y=position.array[i+1];
vertexMesh.position.z=position.array[i+2];
scene.add(vertexMesh);
}
この配列がどのように配置されているかわかりません..助けてください! ありがとう!