728x90
- 예를 들어 키보드 wasd 로 캐릭터나 카메라를 이동해야하는 경우
Input.GetKey(KeyCode.W))
{
MoveUp();
}
위와 같이 사용하면 영어일때만 동작하고 한글일 때는 동작하지 않습니다.
switch (Input.inputString)
{
case "W":
MoveUp();
break;
}
이렇게 사용하면 부드럽게 실행되지 않고 뚝뚝 끊겨서 사용됩니다.
- 이 방법 저 방법 찾아보다가 의외로 간단하게 해결되었는데,
Edit > Project Setting... > Input Manager 에서
Use Physical Keys 를 사용하면 됩니다.
밑에 있는 설명을 보니 물리적 키를 사용하면 키보드 언어 레이아웃에서 키 코드를 물리적 키트에 독립적으로 매핑할 수 있다. 예를 들어 키보드의 키를 'q'라고 하면 그 'q'는 탭키의 오른쪽에 있는 키가 된다. 라고 합니다.
즉 우리가 'w' 로 키보드 키 입력을 사용하면 한글, 영어 등 언어에 상관없이 탭키의 오른쪽 두 번째 키를 사용하게 된다는 것 입니다.
그래서 한글 영어 뿐 아니라 일본어, 러시아어 등 다양한 언어설정에서도 동작하게 할 수 있을 것 같습니다. (그런데 이 문제를 찾다보니 나라별로 버그가 약간씩 있다고는 하네요. 예를 들어 러시아어에서 처음 실행하면 안되다가 러/영키?(실제로 뭐라 부르는지는 모릅니다)를 눌러 영문으로 바꿨다가 다시 러시아어로 바꾸면 동작한다던가 하는 문제들이 있는 것 같습니다.)
728x90
'게임 개발 > 유니티' 카테고리의 다른 글
[유니티] 씬 재로딩 후 Action 변수의 target null 문제 (0) | 2023.03.21 |
---|---|
[유니티/셰이더] 순차적 체커보드 패턴 Procedural checkerboard pattern (1) | 2022.12.24 |
[유니티/셰이더] 커스텀 셰이더 기초 (1) | 2022.12.23 |
[유니티] Photon Fusion 103 간단 요약 (0) | 2022.12.22 |
[유니티] Photon Fusion 102 간단 요약 (1) | 2022.12.20 |