【Unity】100kunit(100000unit)以上の座標を使えない問題
こんにちは、電車君です。
実は、Unityには100kunit(100000unit)以上の座標を使えない問題があります。
transformの座標に100kunit以上の値を入力すると「Due to floating-point precision limitations, it is recommended to bring the world coordinates of the GameObject within a smaller range.」と警告文が出ます。
もちろん警告文ですので全くできないわけではないのですが、
インスペクタータブから該当オブジェクトをダブルクリックや4回クリックで原点に移動され、追跡することもできません。
僕は、すべてのものを小さくする、つまり1unit=10mといったような方法をやってみたのですが、
映像がおかしくなってしまい、まともにゲームとは言えなくなってしまいました(座標がカクカクになり、移動する物体がもぞもぞする)。
他にも縮尺を変えるなど、いろいろやってみたのですが、
結果的に「チャンクを導入し、座標を範囲内でループさせる」という方法になりました。
ただし、この方法ではマルチプレイなどでプレイヤー間の座標が異なってしまうため、そのへんを独自で対応させる必要があるかと思います。
映像さえおかしくならなければもう少し簡単だと思うのですが、
現時点で、-100kunit~100kunitを超える座標を使いたい場合には、この方法しかなさそうです。