親オブジェクトと子オブジェクトの座標が、どう関係しているのか分からない。
ローカル座標とワールド座標の変換が、どう行われているのか知りたい。
実は、ローカル座標とワールド座標の変換は、階層構造で使う座標系の変換です。
親オブジェクトの座標系と、子オブジェクトの座標系を変換すれば、正しい位置を計算できます。
この記事では、ローカル座標とワールド座標の変換について、階層構造で使う座標系を見ていきましょう。
- ローカル座標とワールド座標の変換方法が分からない…
- 親子関係での座標計算が理解できていない。
- 階層構造で使う座標系を知りたい。
✨ この記事でわかること
- ローカル座標とワールド座標の基本概念
- 親子関係での座標系
- 変換に必要な計算方法
- Unityでの変換関数の使い方
- 初心者でも理解できる座標変換の考え方
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます
ローカル座標ワールド座標変換とは何か(ゲーム制作目線)

ローカル座標とワールド座標の変換は、親子関係のあるオブジェクト間での座標系の変換です。
ローカル座標は、親オブジェクトを基準とした座標です。
ワールド座標は、シーン全体を基準とした座標です。
親オブジェクトが移動・回転・拡大すると、子オブジェクトのワールド座標も変化します。
しかし、子オブジェクトのローカル座標は変わりません。
この変換を行うことで、親子関係を正しく処理できます。
Unityでは、Transformコンポーネントの関数を使って、簡単に変換できます。
ゲームでの具体的な使い道

ローカル座標とワールド座標の変換が、ゲームでどう使われているか確認してみましょう。
親子関係での座標計算
親オブジェクトと子オブジェクトの座標を、正しく計算する際に使われます。
親が移動・回転しても、子のローカル座標は変わらないため、変換が必要です。
武器や装備の配置
キャラクターに武器を装備させる際、ローカル座標で配置します。
親(キャラクター)が移動・回転しても、子(武器)が正しい位置に配置されます。
UI要素の配置
UI要素を3Dオブジェクトの上に表示する際、座標変換が使われます。
ワールド座標をスクリーン座標に変換して、UI要素を配置します。
アニメーション
アニメーションで、ローカル座標を使うことで、親の動きに影響されずにアニメーションできます。
- 親子関係での座標計算
- 武器や装備の配置
- UI要素の配置
- アニメーション
作り方は分かった。
でも完成まで行けない人へ
当たり判定・移動・カメラ・AIまで、
実装しながら学べる「永久会員チケット」です。
※ まずは内容を見るだけでOK
考え方・仕組みを図解イメージで説明

ローカル座標とワールド座標の変換は、親オブジェクトの変換行列を使った座標変換で実現できます。
ローカル座標からワールド座標への変換
子オブジェクトのローカル座標を、親オブジェクトの変換(位置・回転・拡大)を使って、ワールド座標に変換します。
親の位置・回転・拡大を考慮して、子の座標を変換します。
ワールド座標からローカル座標への変換
ワールド座標を、親オブジェクトの逆変換を使って、ローカル座標に変換します。
親の位置・回転・拡大の逆を適用して、子の座標を変換します。
変換行列の役割
親オブジェクトの変換行列(位置・回転・拡大)を使って、座標を変換します。
Unityでは、この変換が自動的に行われます。
階層構造の影響
複数の階層がある場合、各階層の変換を順番に適用します。
親 → 子 → 孫の順に、変換を適用します。
- ローカル座標は親オブジェクトを基準、ワールド座標はシーン全体を基準
- 親の位置・回転・拡大を考慮して、座標を変換する
- UnityのTransform関数を使うことで、簡単に変換できる
- 階層構造がある場合、各階層の変換を順番に適用する
Unityで実装する際の注意点(代表例)

Unityでローカル座標とワールド座標を変換する場合の注意点を見ていきましょう。
ローカル座標からワールド座標への変換
Transform.TransformPoint関数を使って、ローカル座標からワールド座標に変換します。
|
1 2 3 4 5 6 7 8 |
// ローカル座標からワールド座標へ変換 Vector3 localPosition = new Vector3(1, 0, 0); Vector3 worldPosition = transform.TransformPoint(localPosition); // 方向ベクトルの変換 Vector3 localDirection = new Vector3(1, 0, 0); Vector3 worldDirection = transform.TransformDirection(localDirection); |
ワールド座標からローカル座標への変換
Transform.InverseTransformPoint関数を使って、ワールド座標からローカル座標に変換します。
|
1 2 3 4 5 6 7 8 |
// ワールド座標からローカル座標へ変換 Vector3 worldPosition = target.position; Vector3 localPosition = transform.InverseTransformPoint(worldPosition); // 方向ベクトルの変換 Vector3 worldDirection = target.position - transform.position; Vector3 localDirection = transform.InverseTransformDirection(worldDirection); |
武器の配置
武器をキャラクターの手に配置する例です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class WeaponAttachment : MonoBehaviour { public Transform weapon; public Transform hand; void AttachWeapon() { // 武器を手のローカル座標に設定 weapon.SetParent(hand); weapon.localPosition = Vector3.zero; weapon.localRotation = Quaternion.identity; // ローカル座標で配置すれば、親の動きに追従 } } |
UI要素の配置
3Dオブジェクトの上にUI要素を表示する例です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
public class UIAbove3D : MonoBehaviour { public Transform targetObject; public RectTransform uiElement; public Camera mainCamera; void Update() { // ワールド座標を取得 Vector3 worldPos = targetObject.position; worldPos.y += 2f; // 少し上に配置 // スクリーン座標に変換 Vector3 screenPos = mainCamera.WorldToScreenPoint(worldPos); // UI要素を配置 uiElement.position = screenPos; } } |
親の動きに追従
子オブジェクトが親の動きに追従する例です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class FollowParent : MonoBehaviour { public Transform parent; public Vector3 localOffset = new Vector3(0, 1, 0); void Update() { // ローカル座標をワールド座標に変換 Vector3 worldPos = parent.TransformPoint(localOffset); transform.position = worldPos; // 親の回転も追従 transform.rotation = parent.rotation; } } |
実装のコツ
Transform.SetParentを使って、親子関係を設定すると、自動的に変換が行われます。
ローカル座標で配置すれば、親の動きに追従できます。
ワールド座標が必要な場合だけ、Transform.TransformPointを使いましょう。

まとめ

この記事では、ローカル座標とワールド座標の変換について見てきました。
重要なポイントをおさらいします。
- ローカル座標は親オブジェクトを基準、ワールド座標はシーン全体を基準
- 親の位置・回転・拡大を考慮して、座標を変換する
- Transform.TransformPointでローカル→ワールド、InverseTransformPointでワールド→ローカルに変換
- Transform.SetParentを使うと、自動的に変換が行われる
- ローカル座標で配置すれば、親の動きに追従できる
ローカル座標とワールド座標の変換は、階層構造で使う座標系の変換です。
親子関係を正しく処理するために、重要な技術です。
UnityのTransform関数を使うことで、簡単に変換できます。
実際のゲーム実装とセットで学ぶことで、理解が深まるはずです。
Unity入門の森では、ローカル座標ワールド座標変換を含むベクトルと行列を、実際のゲーム実装とともに体系的に学べます。
ぜひチェックしてみてください。
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます





コメント