Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 너비 우선 탐색
- 유니티 머신러닝
- Mathf.Clamp
- eulerAngles
- 소스코드 줄번호
- unity
- git-lfs
- 유니티 Vector3
- 유니티 리소스매니저
- LookRotation
- c++
- 유니티 ResourceManager
- InputManager
- 유니티 Collision
- 유니티 InputManager
- ML-Agents
- 깊이 우선 탐색
- LayerMask
- c++ 문자열 자르기
- 유니티 Rotate
- 알고스팟
- Quaternion.Euler
- LFS
- 유니티 오브젝트 풀링
- 이진트리
- Raycast
- 유니티
- 코드블럭 테마
- 오브젝트 풀링
- 유니티 시야 가림
Archives
- Today
- Total
무민은귀여워
[유니티] 회전 rotation 본문
반응형
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