「Unity/3d/グローバルとローカル座標変換」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==サンプル== <pre> // ローカル座標をグローバル座標を Vector3 parentPointGlocalPosition = parentObj.transform.TransformPoint(childObj.transform.localPos...」) |
(→サンプル) |
||
行6: | 行6: | ||
Vector3 parentPointLocalPosition = parentObj.transform.InverseTransformPoint(childObj.transform.position); | Vector3 parentPointLocalPosition = parentObj.transform.InverseTransformPoint(childObj.transform.position); | ||
</pre> | </pre> | ||
+ | |||
+ | 参考:https://nekojara.city/unity-transform-point | ||
==オブジェクト内の子オブジェクトのグローバル座標が、0となるように、親オブジェクトを動かす方法== | ==オブジェクト内の子オブジェクトのグローバル座標が、0となるように、親オブジェクトを動かす方法== |
2024年5月12日 (日) 03:16時点における最新版
サンプル
// ローカル座標をグローバル座標を Vector3 parentPointGlocalPosition = parentObj.transform.TransformPoint(childObj.transform.localPosition); // グローバル座標をローカル座標に Vector3 parentPointLocalPosition = parentObj.transform.InverseTransformPoint(childObj.transform.position);
参考:https://nekojara.city/unity-transform-point
オブジェクト内の子オブジェクトのグローバル座標が、0となるように、親オブジェクトを動かす方法
GameObject childObj = GameObject.Find("Child").transform.gameObject; GameObject parentObj = GameObject.Find("Parent").transform.gameObject; Vector3 parentPointLocalPosition = parentObj.transform.InverseTransformPoint(childObj.transform.position); parentObj.transform.localPosition = parentPointLocalPosition; parentObj.transform.rotation = childObj.transform.rotation;
オブジェクトのstaticにチェックが入っていると動かないので、注意。