10

ブロック オブジェクトのセットがあり、全体の幅が完全に表示されるように遠近カメラを設定したいと考えています (高さが大きすぎます。問題ありません。上下にパンします)。

これに近い質問がいくつかあるのを見てきました。たとえば、次のとおりです。

Three.js の形が見えるようにカメラを調整する

Three.js - ビューの幅

THREE.JS: カメラと画面上のオブジェクトの位置に関するオブジェクトのサイズを取得します

カメラをオブジェクトに合わせる方法

ThreeJS。ZoomALL を実装し、特定のボックスがキャンバス領域を埋めるようにする方法は?

ただし、私が探しているすべてを完全にカバーしているようには見えません。

  • 高さには興味がなく、幅だけに興味があります(同じではありません-サイズは動的になりますが、高さが幅よりも大きくなると推測できます)

  • camera.position.z (または私が推測する FOV) は不明なので、それを解決するために方程式を正しい方法で丸めようとしています。

(私は 3D 数学が苦手です。よろしくお願いします!)

4

1 に答える 1

4

私の場合、この問題を大幅に単純化することができました...

オブジェクトの全体的なサイズを知っていたので、カメラの Z 位置を数回変更し、何が最もよく見えるかを確認することで、適切な距離を簡単に見つけることができました。

私の本当の問題は、縦横比が異なるため、サイズの異なる画面で、同じ z 位置が画面の幅に対して異なる幅を与えることでした。

そのため、距離の値を camera.aspect で割っただけです。これで、ブロックはすべての画面サイズで画面幅の同じ割合を占めます:-)

于 2013-06-05T13:02:39.033 に答える