inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

회전/이동 코드 관련 질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

제가 키 입력 받는 것이 if문으로 받기 껄끄러워서 if문을 switch로 대체하고, 키입력은 Input.inputString으로 받아서 다음과 같이 작성하였습니다. void OnKeyboard() { switch (Input.inputString) { case "w": Move_Rot(Vector3.forward); break; case "s": Move_Rot(Vector3.back); break; case "a": Move_Rot(Vector3.left); break; case "d": Move_Rot(Vector3.right); break; } } void Move_Rot(Vector3 vector) { float delta = Time.deltaTime; transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(vector), delta * ROT_SPEED); transform.position += vector * delta * SPEED; } 그런데 이처럼 작성하면, 회전이나 이동속도가 굉장히 느려지고, 회전 동작도 뚝뚝 끊깁니다. (물론 동일한 방식으로 if문으로 작성했을 때는 끊김없이 부드럽게 이동되었습니다.) 혹시 이와 같은 일이 일어나는 건 무엇 때문일까요? switch문이 아니면, GetKey가 아니라 Input.inputString으로 키입력을 가져와서 일까요?

  • 키입력_받기
  • unity
  • C#
mir8725 댓글 4 좋아요 0 조회수 435

인기 태그

인프런 TOP Writers

주간 인기글