0

私は、任意の次元の可能性がある特定の平面ジオメトリを持っています。

それらを特定の寸法(たとえば1024x768または768x1024)にスケーリングする必要があります

Three.jsは、Geometry.scaleオブジェクトを介したスケーリングを提供します。これは、最初の高さ/幅が何であるかを知っている場合にうまく機能します。

obj.scale.x = finalWidth/initialWidth;
obj.scale.y = finalHeight/initialHeight;

ただし、ジオメトリの高さと幅(つまり、initialWidthとinitialHeight)を返すオブジェクトはありません(ここで間違っている場合は修正してください)。

では、初期寸法を知らなくても、ジオメトリを特定の寸法にスケーリングする方法はありますか?

PS初期の寸法がわからない場合、そもそもオブジェクトをどのように構築しているかを尋ねることができます。もちろん、私は初期寸法を知っていますが、それは私が構築しているフレームワークの別のはるか遠くの部分にあり、可能であれば全体を通して寸法を追跡することを避けたいと思います。

4

2 に答える 2

1

あなたの言うことは本当です。あなたは試すことができます

geometry.computeBoundingBox();

次に、から寸法を計算できますgeometry.boundingBox

于 2012-10-16T23:29:03.163 に答える
1

あなたが正しいです。ソリューションを完了するには:

geometry.computeBoundingBox();

ComputeBoundingBoxが呼び出された後、geometry.boundingBoxからディメンションを読み取ることができます。

width = geometry.boundingBox.max.x - geometry.boundingBox.min.x
height = geometry.boundingBox.max.y - geometry.boundingBox.min.y
depth = geometry.boundingBox.max.z - geometry.boundingBox.min.z
于 2012-10-18T06:29:53.027 に答える