IT用語集 › プログラミング › 浮動原点(Floating origin)

浮動原点(Floating origin)

プログラミング Svenska → 更新: 2026-10-26

浮動小数点数は原点から離れるほど精度を失うため、カメラが常に座標系の原点付近にいるよう、世界のほうを丸ごと動かす手法。

32ビットの浮動小数点数が持つ有効桁数は約7桁。原点付近なら1ミリ未満の細かさだが、50キロ離れると、隣り合う表現可能な値の間隔は4ミリ前後に広がる。こうなると頂点が揺れ、アニメーションが震え、Zファイティングが発生する。Kerbal Space Program のプレイヤーはこれを「クラーケン」と呼んだ。

対策は、プレイヤーを動かさずに世界を動かすことだ。カメラが閾値を越えたら、その位置を全オブジェクトから引いて原点をリセットする。物理演算も一緒にずらす必要があり、ネットワークゲームのサーバーは通常、より高精度な独自の座標系を別に持つ。もう一つの道は全面的に64ビット座標を使うことで、Unreal Engine 5 は「Large World Coordinates」としてこちらに移行した。それでもGPUに渡されるのはカメラ相対の値だ。

← 用語集に戻る