(Unity)砲身の角度を上下に変更できるようにする。

(Unityコードメモ)

キーボード上の入力を受け取って、砲身(オブジェクト)の角度を変更する方法

Vector3型でデータを取得できるように「eulerAngles」を使うのがポイント。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TurretController : MonoBehaviour
{
    private Vector3 angle;

    void Start()
    {
        // 最初の角度を取得する。
        angle = transform.eulerAngles;
    }

    void Update()
    {
        if (Input.GetKey(KeyCode.P))
        {
            angle.x -= 0.5f;
            transform.eulerAngles = new Vector3(angle.x, transform.root.eulerAngles.y, 0);

            // 角度に制限を加える。
            if(angle.x < 70) { angle.x = 70; } } else if(Input.GetKey(KeyCode.L)) { angle.x += 0.5f; transform.eulerAngles = new Vector3(angle.x, transform.root.eulerAngles.y, 0); if(angle.x > 90)
            {
                angle.x = 90;
            }
        }
    }
}