Menu
CoddyTech

方向

CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 18/67。

Unity では、長さがそれぞれ 1 単位の6方向に名前が付いています。

  • Vector3.right (1, 0, 0) と Vector3.left (-1, 0, 0)
  • Vector3.up (0, 1, 0) と Vector3.down (0, -1, 0)
  • Vector3.forward (0, 0, 1) と Vector3.back (0, 0, -1)

Vector3.zero (0, 0, 0) と Vector3.one (1, 1, 1) もあります。それぞれの方向の長さは 1 単位なので、方向に速度を掛けると、ちょうどその速度分だけ移動します。このカタツムリは、毎秒 0.5 単位の速さでカメラから遠ざかります。

public float speed = 0.5f;

void Update()
{
    transform.position += Vector3.forward * speed * Time.deltaTime;
}

これは new Vector3(0, 0, speed * Time.deltaTime) と同じ移動ですが、方向を使うほうが読みやすく、間違った軸に設定しにくくなります。マイナス記号を付けると方向が反転します。-Vector3.forward は Vector3.back です。これらの方向はオブジェクトではなくワールドに属します。つまり、カタツムリが反対を向いていても、Vector3.forward はワールドの z 方向です。次のレッスンでは、オブジェクトが向いている方向に移動させます。

challenge icon

チャレンジ

簡単

矢印キーでクレーンのフックを、1秒あたりspeed単位の速度で動かします。右矢印と左矢印でx軸に沿って右と左に動かし、上矢印で上げ、下矢印で下げます。Unityの名前付き方向を使います。キーを押していないときは、その場にとどまります。

Playを押してフックを操作し、次にCheckを押します。

自分で試してみよう

using UnityEngine;

public class Hook : MonoBehaviour
{
    public float speed = 2f;

    void Update()
    {
        // 右/左矢印キー:x軸に沿って移動。上/下矢印キー:上下に移動。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Unityスクリプティングの基礎のすべてのレッスン