私の知る限り、Unityで世界の原点から100万ユニットを超えることは、浮動小数点の精度の問題のため、ほとんど不可能です。
半径が1M単位を超える世界を作成するにはdouble
、座標にvarを使用するか、いくつかの空間分割手法を使用して、大規模なシーンを階層チャンクに分割する必要があります。最小のチャンクは約10000単位です。つまり、各ワールド空間の位置が表現されます。チャンク階層によって、オブジェクトのインとfloat
、最後のチャンク内のローカル位置(および場合によっては回転とスケーリング)を表すvarの束。
どちらの方法でも、これを行うには完全に新しい座標系を実装する必要があるため、Unityでそれが可能かどうか、可能であれば、物理学などの既存のUnityシステムでそれをどのように機能させるかについて知りたいのです。
PS惑星の周りで同時に物事を進行させたいので、プレイヤーが移動するときに世界を原点に移動することはできません。
ありがとう!