티스토리 뷰
유니티에서 이동을 위해서 자주 사용하는 메서드 중에 하나인 Transform.Translate는 매개변수를 딱 두 가지 갖고 있습니다.
하나는 익히 알다시피 얼마나 이동할 것인지의 벡터이고 하나가 어느 축을 기준으로 할것이냐인데요
1 2 | public void Translate(Vector3 translation); public void Translate(Vector3 translation, Space relativeTo = Space.Self); | cs |
트랜스레이트의 두 가지 오버로딩입니다.
이 중 Space는 enum값으로 두 개의 요소로 구성되어 있습니다.
Space.Self와
Space.World입니다.
셀프는 자기 자신을 축으로 이동합니다.
즉 자신이 각도가 틀어져있으면 그 틀어진 상태를 정방향으로 보고 이동한다는 것이고요
월드는 반대로 그것과 관계없이 월드 좌표를 기준으로 이동하는 것을 말합니다.
영상을 올렸는데요.
두가지 상황입니다.
A, D 키는 방향을 바꾸고
W, S 키는 전진,후진을 합니다.
이게 끝입니다만
이동을 시킬 때 Space.World를 쓰거나 Space.Self를 쓰거나 이 부분만 다릅니다.
뭐가 맞고 틀린 건 아니겠죠. 이게 쓰일 때도 있고 저게 쓰일 때도 있을 것 같습니다.
'개발일기 > 유니티3D' 카테고리의 다른 글
태양, 지구, 달의 공전 RotateAround로 어떻게 되는지 확인해보자. (0) | 2018.10.04 |
---|---|
연습했어요. 좀비떼 30마리가 나옵니다. 반자동전투합니다. (0) | 2018.10.04 |
유니티에서 각도 구할 때 Mathf.Atan()대신에 Mathf.Atan2를 쓰는 이유 (0) | 2018.10.02 |
캐릭터컨트롤러로 10초만에 키보드로 이동 구현 (0) | 2018.10.01 |
재사용을 위한 타이머 매니저 (0) | 2018.10.01 |
댓글