1

自分でループする3Dシーンを作りたいです。つまり、いずれかの方向に進み続けると、反対側にループバックします。

私の現在の実装はとても悪いので、それを認めるのは恥ずかしいことです。それぞれの変更を27回再描画して、3x3x3のシーンキューブを作成します。ユーザーが真ん中の立方体の端に到達したら、反対側にジャンプします。一貫性(パフォーマンスは言うまでもなく)を維持することは悪夢です。総災害。

これは珍しい要求ではないように思われるので、誰かがもっと合法的な解決策を知っているかどうか疑問に思います。

ありがとう!

編集/注:Java3dで使用できるテクスチャへのレンダリング機能はありません。

4

2 に答える 2

0

特定のシーンやレンダリングしているオブジェクトの種類についての知識がなければ、27個の立方体は「正しいが最適ではない」方法のように聞こえます。

ただし、他に何も考えられない場合は、少なくとも最初にカメラで錐台カリングを実行できます。つまり、27個の立方体のうち、現在カメラの視野内にあるものを見つけることができます。

そうすれば、これらの立方体を6つ以上、さらに現在の立方体を描画する必要はありません。視野が狭い場合はさらに少なくなります。

これは、遠くに最大1つの立方体しか表示できないことを前提としています...それ以外の場合は、テクスチャへのレンダリングを行う必要があります。

于 2010-04-11T17:53:58.940 に答える
0

別の選択肢も考えられますが、あまりきれいではありません。

ユーザーを宇宙の原点に固定しておくことができます。したがって、それらを移動する代わりに、宇宙の他のすべてを反対方向に移動します。宇宙の境界を越えるものはすべて反対側に戻されます。

于 2010-04-13T02:46:42.760 に答える