728x90
키보드 입력을 통해 오브젝트 x, y 축 이동하기
실행화면
적용 코드
void Update()
{
Vector3 vec = new Vector3(
Input.GetAxis("Horizontal") * Time.deltaTime,
Input.GetAxis("Vertical") * Time.deltaTime,
0);
transform.Translate(vec);
}
이 스크립트는 실린더 오브젝트와 카메라에 적용해서 카메라가 오브젝트를 계속 주시하게 했다.
Input Manager에서 Horizontal, Vertical에 적용되어있는 키 확인 후 누르면 움직임을 줄 수 있다.
GetAxisRaw를 사용하면 -1, 0, 1로 반환받아 움직이고 GetAxis를 사용하면 소수점까지 반환받는다.
누르는 키에 맞춰 transform.Translate()에 값을 인자로 전달해주면 된다.
※ 주의
Time.deltaTime을 사용하지 않으면 프레임 수에 따라 업데이트 주기와 횟수가 차이가 난다.
이 차이를 없애기 위해 사용한다.
Time.deltaTime : 이전 프레임의 완료까지 걸린 시간
deltaTime 값은 프레임이 적으면 크고, 프레임이 많으면 작음
Time.deltaTime 사용하는 방법
Translate : 벡터에 곱하기
transform.Translate(Vec * Time.deltaTime);
Vector 함수 : 시간 매개변수에 곱하기
Vector3.Lerp(Vec1, Vec2, T * Time.deltaTime);
728x90
'프로그래밍 > Unity' 카테고리의 다른 글
[Unity] 충돌 이벤트 (0) | 2022.03.29 |
---|---|
[Unity] 물리를 이용한 오브젝트 이동(속력, 힘, 회전) (1) | 2022.03.28 |
[Unity] Mesh, Material, Collider, RigidBody (0) | 2022.03.27 |
[Unity] 키 입력 anyKey, GetKey, GetMouseButton, GetButton (0) | 2022.03.21 |
[Unity] 유니티 입문 / 유니티 흐름, 라이프사이클 (0) | 2022.03.20 |
댓글