0

ここで最初の質問。すでに回答されている場合はお詫び申し上げます - Google またはここで何も見つかりませんでした。

私のゲームは宇宙シミュレーション (現実的な慣性、停止しない限り継続的に回転するなど) であり、非常に広大なプレイ可能エリアが必要です。何が起こっているのかというと、船が開始位置 (Matrix.Translation の測定値で約 1,000,000) から離れすぎると、船またはカメラが不規則に回転し始めます。よく注意すると、開始位置から移動を開始した直後でも、小さな異常があります (たとえば、3D モデルの端で文字通り 1 つのピクセルが変化しますが、船は完全に静止している必要があります (アニメーションはありません))。カメラとの関係. もともと、回転の連続的な変化により船の行列が非直交になるという同様の問題がありましたが、正規化の目的で四元数に変換してから行列に戻すことで解決しました.

どのコードが見たいのかわかりませんが、リクエストがあれば貼り付けます。私はこれを間違った方法で行っていますか?太陽系の周りを船が移動するのと同じように、太陽系を船の周りを移動させる必要がありますか? 途方に暮れて。助けてください。

フィル

4

1 に答える 1

0

あなたの質問については完全にはわかりませんが、銀河を現実的にし、フロート(またはある時点でダブル)を使用している場合、それは間違いなくあなたの問題だと思います. 浮動小数点精度の詳細については、この質問を参照してください。

解決策については、このブログ投稿が興味深いかもしれません。宇宙シミュレーション ゲームを作成し、精度の問題を解決して、現在直面している同じ問題を解決しようとしていると思います。

于 2013-07-19T23:10:44.883 に答える