Unity - 6000.2.10f1 - InputSystem 버그
·
Unity
버그상황 재현유니티의 new Input System을 통해 다양한 액션을 정의할 수 있다. Player 오브젝트에 Player Input을 넣고, 원하는 액션맵이 정의돼있는 inputactions 파일을 Actions에 등록해서 사용할 수 있다.별도로 설정하지 않았다면 최초에 생성되는 전역 액션인 InputSystem_Actions가 자동으로 들어가있을 것이다. Action Maps에 Player의 이동에 쓰일 Move와 Rotate를 정의해두었다.(Actions 탭 하단에 보이는 두 CamActive Actions는 본래 Camera Action Maps에 있던 액션들이다.) 우선 Player의 이동 스크립트를 아래와 같이 작성했다.using UnityEngine;using UnityEngine.I..
C# - GetAsnycKeyState() 기반 실시간 키 입력 처리
·
C#
콘솔의 기본적인 Console.ReadKey() 기반으로 입력을 받으면, OS의 연속키 입력 지연 때문에 입력이 느리고 답답하게 느껴진다.이는 실시간 게임 같은 것에서는 조작감을 치명적으로 망쳐놓는 원인이 된다. 비슷한 현상을 Unity에서도 겪은 바 있기에, 이를 해결하고자 KeyDown / KeyUp을 이용한 인풋 시스템을 만들고자 했으나C#에는 KeyUp 기능이 없다...! 없으면 직접 만들어야지 뭐... 결론부터 말하면 GetAsyncKeyState()라는 Win32 API가 제공하는 비동기 키 입력 감지 함수를 이용해 해결할 수 있다. if (Console.KeyAvailable){ var key = Console.ReadKey(true).Key; switch (key) { ..