UE4 Chapter 13. 버그 수정 : 공격시엔 180도로 회전시키기
카테고리: UE4 Lesson 1
태그: UE4 Game Engine
인프런에 있는 황대희님의 언리얼 엔진4 3D 횡스크롤 게임 만들기 강의를 듣고 정리한 필기입니다. 😀
언리얼 엔진 공식 문서 https://docs.unrealengine.com/ko/index.html
🚖 정확히 180도 회전하게 만들기
플레이어 캐릭터가 A, D 키에 의하여 방향을 바꾸는데 횡스크롤 게임이므로 180도로 확 돌려야 한다. 근데 A, D 키를 조금만 누르면 90도쯤 밖에 회전이 안되서 앞 뒤 방향으로도 갈 수 있는 버그가 있다. 우선 회전 속도 값을 크게 올려주었다. 조금조금씩 회전 되는 일이 없게 (Character Movement Rotation Rate 회전 속도)
- Z 축으로 회전해야 한다. (언리얼은 수직 축이 Z 축)
- 마지막에
A
키를 눌렀었으면 Z 축 회전 값을-90
으로 만들어야 하고- Left Right 입력 축이 음수로 들어왔다면
A
- Left Right 입력 축이 음수로 들어왔다면
- 마지막에
D
키를 눌렀었으면 Z 축 회전 값을90
으로 만들어야 한다.- Left Right 입력 축이 양수로 들어왔다면
D
- Left Right 입력 축이 양수로 들어왔다면
- 즉, 어떤 키를 마지막으로 눌렀는지 저장해 둘 필요가 있음.
- 마지막에
- 공격이나 콤보 공격 등을 할 때 Z 축 회전 값을 마지막으로 눌렀던 키에 따라
-90
,90
으로 만든 후에 공격 하도록 한다.
🚩 플레이어 블루프린트
Boolean 타입의 IsPressRightKey
변수 만들기.
Update Move Key
함수 만들기- float 타입으로 Axis Value 를 입력 받는다. (Left Right 입력 축 이벤트에서 호출할 것이라서 음수면
A
키, 양수면D
키다) - 파라미터 값이 음수이면 👉
A
키 👉IsPressRightKey
변수를 False 로 만들기 - 파라미터 값이 양수이면 👉
D
키 👉IsPressRightKey
변수를 True 로 만들기
- float 타입으로 Axis Value 를 입력 받는다. (Left Right 입력 축 이벤트에서 호출할 것이라서 음수면
Left Right 키보드 입력 발생시 Axis Value 를 파라미터로 받는 Update Move Key
함수를 호출 및 실행한다. 이 함수의 실행이 끝나면 IsPressRightKey
변수 값이 정해진다. 즉 가장 마지막에 누른 키가 A
, D
중 어떤 것이였는지 알 수 있다.
Update Rot By Move Key
함수 만들기IsPressRightKey
가 True 이면, 즉 마지막 입력 키가D
였다면 Z 축 회전값90
IsPressRightKey
가 False 이면, 즉 마지막 입력 키가A
였다면 Z 축 회전값-90
공격시, 구르기시 덜 회전 되있었다면 제대로 회전하도록 Update Rot By Move Key
함수 실행시켜 Z 축 회전값 90
or -90
도로 회전
콤보 공격시 덜 회전 되있었다면 제대로 회전하도록 Update Rot By Move Key
함수 실행시켜 Z 축 회전값 90
or -90
도로 회전
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기