Unity 3 d制御ロール移動

946 ワード

方法1:Transformコンポーネントの使用
public class Mover : MonoBehaviour
{
    public float speed = 10f;

    private void Update()
    {
        float hMove = Input.GetAxis("Horizontal") * speed;
        float vMove = Input.GetAxis("Vertical") * speed;
        Vector3 translation = new Vector3(hMove, 0f, vMove) * Time.deltaTime;
        transform.Translate(translation);
    }

}

方法2:CharacterControllerコンポーネントの使用
public class MoveByCharacterController : MonoBehaviour
{
    public float speed = 5f;
    private CharacterController controller;

    private void Start()
    {
        controller = GetComponent();
    }

    private void Update()
    {
        Vector3 velocity = new Vector3(Input.GetAxis("Horizontal"), 0f, 
            Input.GetAxis("Vertical")) * speed;
        controller.SimpleMove(velocity);
    }
}