2017-05-19 12 views
1

私は入力ファイルを介して複数の.OBJファイル(3Dモデル)をThree.jsシーンに追加していますが、それらを同じサイズにしたいと思います。3Dモデル同じスケールで3つのJS

問題は、この3Dモデルのサイズがそれぞれ異なり、そのうちいくつかは巨大で、他のものは非常に小さいことです。

誰もが、すべての3Dモデルを同じサイズにする方法を知っていますか?

ありがとうございました!

答えて

0

Object3Dスケールプロパティを変更する必要があります。

yorDownloadedObject.scale = new THREE.Vector3(0.5, 0.5, 0.5); 

かのようにそのサイズを2倍:

yorDownloadedObject.scale = new THREE.Vector3(2, 2, 2); 

しかし、もしあなたがこのようにこのスケールを設定し、そのサイズの半分にそれらを設定することができますので、あなたは、独立してX、YとZを拡張することができますサイズは、スケーリングの前に、彼らのbounding boxcomputeBoundingBox(またはcomputeBoundingSphere)という名前Object3D.Geometryプロパティメソッドを使用して取得し、元のサイズを知るために...

あなたはスケールアップまたはダウン彼らの実際のサイズに依存する場合があり、あまりにも異なっています。

その後、Cross-multiplicationを使用してGeometry.boundingBoxプロパティに応じて、希望のサイズにスケールアップまたはスケールダウンします。

もう1つの推奨は、モデルのサイズを変更して何かに触れさせないことです。

+0

これは完璧に動作します、ありがとうございます!!!! –

関連する問題