무민은귀여워

[유니티] 회전 rotation 본문

IT/Unity

[유니티] 회전 rotation

moomini 2022. 5. 16. 23:45
반응형

1. 절대 회전값 eulerAngles

2. Rotate

3. Quaternion.Euler

4. 선형 보간 Slerp

5. LookRotation

6. wasd 키 입력으로 회전 및 이동

1. 절대 회전값 eulerAngles

    float _yAngle = 0.0f;
    _yAngle += Time.deltaTime * 100.0f;
    // 절대 회전값
    transform.eulerAngles = new Vector3(0.0f, _yAngle, 0.0f);

2. Rotate

    // += delta
    transform.Rotate(new Vector3(0.0f, Time.deltaTime * 100.0f, 0.0f));

3. Quaternion.Euler

    float _yAngle = 0.0f;
    _yAngle += Time.deltaTime * 100.0f;
    transform.rotation = Quaternion.Euler(new Vector3(0.0f, _yAngle, 0.0f));

4. 선형 보간 Slerp

* Quaternion.Slerp(Quaternion a, Quaternion b, float t) : t가 0일수록 a에, 1일수록 b에 가깝게 보간

    transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.forward), 0.2f);

5. LookRotation

해당 벡터 방향을 바라보는 Quaternion를 반환

    transform.rotation = Quaternion.LookRotation(Vector3.forward);

6. wasd 키 입력으로 회전 및 이동

        float _speed = 10.0f;
        
        if (Input.GetKey(KeyCode.W))
        {
            transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.forward), 0.2f);
            transform.position += Vector3.forward * Time.deltaTime * _speed;
        }

        if (Input.GetKey(KeyCode.S))
        {
            transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.back), 0.2f);
            transform.position += Vector3.back * Time.deltaTime * _speed;
        }

        if (Input.GetKey(KeyCode.A))
        {
            transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.left), 0.2f);
            transform.position += Vector3.left * Time.deltaTime * _speed;
        }
            
        if (Input.GetKey(KeyCode.D))
        {
            transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.right), 0.2f);
            transform.position += Vector3.right * Time.deltaTime * _speed;
        }
반응형

'IT > Unity' 카테고리의 다른 글

[유니티] ResourceManager  (0) 2022.05.17
[유니티] InputManager  (0) 2022.05.17
[유니티] transform, Vector3  (0) 2022.05.16
[유니티] 싱글톤 패턴  (0) 2022.05.16
유니티 git 연동 lfs 사용하기  (1) 2021.05.18
Comments