OnKeyboard에 _moveToDest = false 추가하면 캐릭터 움직임이 이상해집니다.
저도 같은 문제를 겪어서 이유가 궁금해 찾아봤는데 부연 설명을 할 수 있을 것 같아 올립니다 문제 원인을 정확하게 알려면 1. GetMouseButton과 GetMouseDown의 차이에 따른 Input.anyKey의 차이 2. Input.anyKey에 따른 _moveToDest의 변화 를 이해해야합니다. 1. GetMouseButton과 GetMouseButtonDown을 사용한 경우의 차이는 전자는 누르는 순간부터 떼기 전까지 참이고 후자는 누르는 순간만 참이라는 것입니다 GetMouseButton이 참에서 거짓으로 바뀐 순간은 마우스 버튼을 뗀 순간이라고 볼 수 있습니다. 거짓으로 바뀐 순간부터 마우스 버튼을 뗀 상태이므로 어떤 키가 눌리고 있는 지 여부를 나타내는 Input.anyKey는 거짓이 됩니다. 그러나 GetMouseButtonDown이 참에서 거짓으로 바뀐 순간은 버튼을 누르는 순간 직후입니다. 따라서 아직도 마우스 버튼이 떼기 전일 수 있습니다. 그렇다면 Input.anyKey가 참이 됩니다. 2. Input.anyKey가 참일 경우에는 KeyAction이 실행되면서 _moveToDest가 거짓이 되고 Input.anyKey가 거짓인 경우에는 KeyAction이 실행되지 않고 _moveToDest가 유지됩니다. 즉 GetMouseButtonDown을 사용한 경우 참에서 거짓으로 바뀐 순간 이후 Input.anyKey가 참이 되면서 KeyAction이 실행되고 _moveToDest가 거짓이 되버리는데 GetMouseButton을 사용한 경우에는 KeyAction이 실행되지 않고 _moveToDest가 참으로 유지되면서 UnityChan이 목표까지 도달할 수 있는 겁니다. 너무 복잡하게 생각하는 가 싶기도 한데 잘 이해도 안되고 궁금해서 열심히 생각해봤습니다. 비슷한 질문을 가지신 분에게 도움이 되길 바랍니다