이동(transform.position) 관련
로컬좌표 기준 이동
//update 안에서 실행
float _speed = 10;
if (Input.GetKey(KeyCode.W))
{
transform.position += transform.TransformDirection(Vector3.forward * Time.deltaTime * _speed);
}
- W키를 누르면 앞으로 이동하는 코드.
- TransformDirection : 로컬 좌표를 월드좌표로 변환해줌. 즉, 위의 코드를 이용 시 현재 go의 로컬 좌표를 중심으로 앞으로 움직인다.
- InverseTransformDirection : 월드좌표를 로컬좌표로 변환해줌.
transform.Translate(Vector3.forward * Time.deltaTime * _speed)
- 위의 코드와 동일하게 작동함.
월드좌표 기준으로 이동
transform.position += Vector3.back * Time.deltaTime * _speed
- position에 바로 벡터 방향과 크기를 곱해주면 월드좌표 기준으로 이동한다.
참고) 회전과 합쳐서 이동을 완성한다.
Vector란?
- 위치 벡터
- 방향 벡터
from * normalized * magnitude
댓글남기기