1

clara.io からエクスポートしたシーンがあり、three.js シーンにインポートできます。MateiralLoader と ObjectLoader を変更してテクスチャの読み込みを追加しましたが、問題に直面しています。標準メッシュを物理メッシュに置き換えたいからです。THREE.MeshObjectLoader.js で変更してみましたPhysijs.BoxMesh(ほとんどのシーンは立方体で構成されています)。

メッシュは実際には正しく表示され、コンソールにエラーはありませんが、それに接続された物理はなく、衝突もありません。clara.io エクスポートが CubeGeometry だけでなくジオメトリであるため、physijs の問題である可能性があるのではないかと考えました...わかりません。関連するものは見つかりませんでした。探し方を教えていただけませんか?ありがとう!

ここに私のコードのサンプルがあります:

clara.io からエクスポートするスクリプトは、Web サイトで提供されています。

var loader = new THREE.ObjectLoader();
loader.load("zebra.json",function ( obj ) {
  scene.add( obj );
});

だから私は three.js から ObjectLoader を変更しました: 287 行目で、メッシュをロードする場合、これを置き換えてみました:

object = new THREE.Mesh( geometry, material );

これで:

object = new Physijs.BoxMesh( geometry, material );

そして私も試しました:

object = new Physijs.ConvexMesh( geometry, material );

または:

object = new Physijs.ConcaveMesh( geometry, material );

オブジェクトはシーンにうまく表示されますが、物理 (特に衝突) が機能することはありません。ただし、衝突は、たとえば、スクリプトから直接作成された立方体で、 を使用してTHREE.BoxGeometry、それを で使用するとうまく機能しPhysijs.BoxMeshます。

4

2 に答える 2

0

実は、最初は clara.io からシーン全体をエクスポートしており、このシーンをスクリプトに既にあるシーンに追加していたことがわかりました。この場合、すべてのシーンが Physijs シーンであっても、子は表示されますが物理は表示されません。インポートされたシーンの子のみを追加すると、ある程度は機能しますが、現在は配置に問題がありますが、それは別のトピックです.

于 2015-01-20T01:46:04.140 に答える
0

問題のコード例を共有することをお勧めします。また、任意のメッシュ データについては、Physijs.ConvexMesh を使用できます。

于 2015-01-14T20:10:19.333 に答える