「Unity/3d/回転」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→角度を追加する) |
(→360度表記の角度取得) |
||
| 行13: | 行13: | ||
==360度表記の角度取得== | ==360度表記の角度取得== | ||
transform.localRotation.xではなく、transform.localEulerAngles.x | transform.localRotation.xではなく、transform.localEulerAngles.x | ||
| + | |||
| + | ==親オブジェクト内の子オブジェクトのグローバル座標を、0にするように、親オブジェクトを動かす方法== | ||
| + | <pre> | ||
| + | GameObject childObj = GameObject.Find("Child").transform.gameObject; | ||
| + | GameObject parentObj = GameObject.Find("Parent").transform.gameObject; | ||
| + | parentObj.transform.position = new Vector3( | ||
| + | childObj.transform.position.x, | ||
| + | -childObj.transform.position.y, | ||
| + | childObj.transform.position.z | ||
| + | ); | ||
| + | parentObj.transform.rotation = childObj.transform.localRotation; | ||
| + | </pre> | ||
2024年5月11日 (土) 09:44時点における版
transform.localRotation = new Vector3(0, 0.5f, 0); //こちらでなく transform.localRotation = new Quaternion(0, 0.5f, 0, 0); // こちらでもなく(x, y, z, w) transform.localRotation = Quaternion.Euler(0, 0, 180f);// こちらを(x, y, z) 0 ~ 360fまで
参考:https://spi8823.hatenablog.com/entry/2015/05/31/025903
角度を追加する
本来の角度に180度を追加
enemyObj.transform.localRotation *= new Quaternion(0f, 180f, 0f, 0f);
360度表記の角度取得
transform.localRotation.xではなく、transform.localEulerAngles.x
親オブジェクト内の子オブジェクトのグローバル座標を、0にするように、親オブジェクトを動かす方法
GameObject childObj = GameObject.Find("Child").transform.gameObject;
GameObject parentObj = GameObject.Find("Parent").transform.gameObject;
parentObj.transform.position = new Vector3(
childObj.transform.position.x,
-childObj.transform.position.y,
childObj.transform.position.z
);
parentObj.transform.rotation = childObj.transform.localRotation;
