4

現在、形状を作成し、その形状に対して複数の CSG 操作を実行するために three.js ジオメトリ クラスを使用しています。したがって、継続的に形状を再描画します。

複数の csg 操作を実行するこのプロセスは低速です。レイキャスティングを使用してクリック時に形状を取得し、選択した形状と事前定義された形状 (任意の形状またはジオメトリ) の CSG を実行しているためです。

だから私の質問は:

  • THREE.BufferGeometryバッファ ジオメトリを使用すると CSG が高速化されますが、インスタンスで CSG 操作を実行するライブラリはありますか?

  • 他の方法を使用してプロセスを高速化する方法はありますか?

これは私のコードフローです:

var objects = [];

init();
render();

function init(){
 //scene and camera setup ... etc
   var sphere =  new THREE.SphereGeometry(200, 32, 32);
   objects.push(sphere);
 // raycasting config
 // bind mouse click and move event
 }
  function onMouseDown() {

   var intersects = raycaster.intersectObjects(objects);
   .....
   // get intersected shape ..
   // perfrom csg with predifend shape .
   // Also contains steps to convert 
      geometry to *CSG libaray geometry* 
      and back to Three.js geometry)..
   // replace the shape with existing
   .....
    render();
 }

このライブラリを CSG 操作に使用しています。全体的なフローは、three.js の例のこの例と似ています。

4

1 に答える 1