▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
Transformコンポーネントの便利な関数まとめ
Transformコンポーネントは、Unityのゲーム空間内における座標を管理するコンポーネントです。
その中からよく使う便利な関数をまとめておきます。
[Unity_317×90]
■移動
public class Sample1 : MonoBehaviour { void Update() { transform.Translate(0, 1, 0); // ローカルY軸正方向に移動 transform.Translate(0, 1, 0, Space.Self); // ローカルY軸正方向に移動 transform.Translate(0, 1, 0, Space.World); // ワールドY軸正方向に移動 } }
■回転
public class Sample2 : MonoBehaviour { void Update() { transform.Rotate(0, 1, 0); // ローカルY軸を中心に回転 transform.Rotate(0, 1, 0, Space.Self); // ローカルY軸を中心に回転 transform.Rotate(0, 1, 0, Space.World); // ワールドY軸を中心に回転 } }
■公転
public class Sample3 : MonoBehaviour { void Update() { // 原点を中心として、(1,1,1)方向に毎秒100度公転する transform.RotateAround(Vector3.zero, Vector3.one, 100 * Time.deltaTime); } }
■方向
worldUpは上方ベクトルで、回転の向きを定める基準です。指定しない場合はワールド座標のY軸となります。
public class Sample4 : MonoBehaviour { // 向かせたい方向のオブジェクトのTransformを取得 public Transform target; void Update() { // オブジェクトをtarget方向に向かせる transform.LookAt(target); } }
■ローカル空間 → ワールド空間
transform.TransformVector(Vector3 vector)
ローカル空間からワールド空間へ(direction / position / vector)を変換します。
public class Sample5 : MonoBehaviour { Rigidbody myrigid; void Start() { myrigid = GetComponent<Rigidbody>(); } void Update() { // ローカルX軸正方向に移動 myrigid.AddForce(transform.TransformDirection(Vector3.right)); // ワールドX軸正方向に移動 myrigid.AddForce(Vector3.right); } }
■ワールド空間 → ローカル空間
transform.InverseTransformVector(Vector3 vector)
ワールド空間からローカル空間へ(direction / position / vector)を変換します。
public class Sample6 : MonoBehaviour { Rigidbody myrigid; void Start() { myrigid = GetComponent<Rigidbody>(); } void Update() { // ローカル(0.7, 0, 0.7)方向に移動 myrigid.AddForce(transform.InverseTransformDirection(Vector3.right)); // ワールドX軸正方向に移動 myrigid.AddForce(Vector3.right); } }
以上です。
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発