私は正確に私の質問をします.2Dオブジェクトを2Dワールド(X、Y)で動かしています。私はZ軸上で動きを偽造したいと思います。だから私は、その範囲(幅、高さ)と位置を少しだけ遊ぶことが最善だと信じています。 しかし、サイズ(w、h)のオブジェクトの新しい範囲を決定し、1メートル先からカメラ(Z軸)を移動する式は何ですか?そのような関数のパラメータは何でしょうか?Z軸上を移動する2Dスプライトを偽装する方法は?
ご協力いただきありがとうございます。
私は正確に私の質問をします.2Dオブジェクトを2Dワールド(X、Y)で動かしています。私はZ軸上で動きを偽造したいと思います。だから私は、その範囲(幅、高さ)と位置を少しだけ遊ぶことが最善だと信じています。 しかし、サイズ(w、h)のオブジェクトの新しい範囲を決定し、1メートル先からカメラ(Z軸)を移動する式は何ですか?そのような関数のパラメータは何でしょうか?Z軸上を移動する2Dスプライトを偽装する方法は?
ご協力いただきありがとうございます。
主なパラメータは、カメラまでの距離とアパチャーの角度です。
new_size = size/distance
で新しいサイズを簡単に判断できます。 距離がないオブジェクトは無限のサイズになります。 アパーチャ角度の効果を得るには、別の係数を含めることをお勧めします。f
new_size = f * size/distance
ここで、f
は単位サイズの距離です。 ユニットサイズの距離は、画像が元のサイズで描画される距離です。 もちろん、これもゼロであってはなりません。この距離だけ、開口角度を暗黙に定義します。
私がサイズについて話すとき、私は幅と高さを意味するので、数式は両方に適用されます。
私の説明に従うことを願っています。
幅と高さは、視聴者からの距離に反比例します。 2倍の距離にあると、サイズは半分になります。したがって、ビューアからの「自然な」距離がAで、新しい位置がA + Zの場合、元の幅と高さにA /(A + Z)を掛けることになります。これは小さな負のZ値に対しても機能します(オブジェクトはビューアに近く、より大きく表示されます)。
スプライトを大きくまたは小さくしますか? 2D等角図を使用している場合は、動きを曲線にする必要があります。 –