▣ 안녕하세요.
이번장에서는 Set Actor Rotation, Add Actor Local Rotation, Add Controller Yas Input 함수들을 사용하며 회전하는 노드를 공부해 보겠습니다.
회전하는 노드나 움직이는 노드 등 방법은 정해져 있지 않고 사용자의 사용 의도 따라 정합니다.
▣ 저번장에 만들었던 Player와 GameMode를 사용하겠습니다.
▣ Edit메뉴에서 Project Settings에 메뉴에 Input에 Axis Mappings를 추가합니다.
MoveTurn이라는 이름으로 Q와 E키를 지정합니다.
키를 눌러 회전하는 걸 구현할 예정입니다.
다른 키로 지정하셔도 되고
Action Mappings를 추가하셔도 됩니다.
▣ Player에 Event Graph에서 노드를 완성합니다.
Set Actor Rotation을 이용해서 키를 누를 때마다 회전을 하겠습니다.
Set Actor Rotation은 그 해당 Actor를 회전값을 세팅합니다.
Set Actor Rotation으로 회전을 하기 위해 외워야 할 공식이 있습니다.
이동하는 코드와 비슷하게 (경과시간(Delta Time) * 속도 * 회전방향(입력값)) + 현재 회전값으로 계산하고
Set Actor Rotation에 대입을 해주면 됩니다.
Get World Delta Seconds는 월드에서의 경과시간을 Seconds로 반환해 주는 함수입니다.
Event Tick에 Delta와 비슷합니다.
Get Actor Rotation에 Z값만 회전하기 때문에 Z 값만 더했고 그걸 그대로 Set Actor Rotation에 넣었습니다.
그리고 끝이 아니라 Player를 클릭하여 오른쪽 디테일메뉴에서 Pawn에 Use control Rotation Yaw를 체크를 해제하셔야 합니다.
그래야 Z값이 고정되지 않고 회전할 수 있습니다.
컴파일 저장 후
▣ Q, E 버튼을 클릭하면 회전하는 걸 확인할 수 있습니다.
▣ 이번에는 Add Actor Local Rotation 함수를 이용해서 회전을 해보겠습니다.
이것도 공식이 있습니다.
((경과시간 * 속도 * 회전방향(입력값))값을 회전할 노드에 연결만 하면 됩니다.
▣ Add Actor Local Rotation함수는 쉽게 이야기해서
상속 관계에 영향을 받지 않고 자기 자신을 기준으로 회전하는 함수라고 생각하시면 됩니다.
컴파일 저장 후 Q, E를 누르면 회전되는걸 확인할 수 있습니다.
▣ 이번에는 Add Controller를 검색해보겠습니다.
그럼 위에 이미지처럼 3개의 함수가 나옵니다.
https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Pawn/Input/AddControllerYawInput/
▣ 이건 쉽게 이야기하면 상속관계인 PlayerController를 같이 회전하는 방식입니다.
▣ 이런 식으로 노드를 완성하고, 디테일 메뉴에서 Use Controller Rotation Yaw를 다시 체크합니다.
컴파일 저장 후
▣ 씬에서 플레이버튼을 클릭하고 PlayerControll를 선택한 다음 씬을 누르고 Q, E를 누르면 PlayerControll도 같이 회전합니다.
▣ 아까 사용했던
Set Actor Rotation, Add Actor Local Rotation함수는 PlayerControll가 회전되지 않고
우리가 생성한 Player0만 회전되는 걸 확인할 수 있습니다.
▣ 다시 정리를 하면
▣ Set Actor Rotation함수는 == (경과시간 * 속도 * 회전방향(입력값)) + 현재 회전값을 넣어주면 된다.
▣ Add Actor Local Roation 함수는 == (경과시간 * 속도 * 회전방향(입력값)) 만 넣어주면 된다.
▣ Add Controller Yas Input 함수들 또한 (경과시간 * 속도 * 회전방향(입력값)) 만 넣어주면 된다.
▣ 단 Add Controller Yas input 함수들은 PlayerControll도 함께 회전한다.
'[ Unreal5 ] > - 언리얼엔진5 공부' 카테고리의 다른 글
언리얼엔진5 33장 [마우스 회전] (0) | 2023.02.21 |
---|---|
언리얼엔진5 32장 [Jump] (0) | 2023.02.21 |
언리얼엔진5 30장 [캐릭터 이동, Add movement Input함수, Character Movement, Action Mappings, Delay함수] (4) | 2023.02.16 |
언리얼엔진5 29장 [폴더관리, 게임모드위치] (0) | 2023.02.15 |
언리얼엔진5 28장 [Material] (0) | 2023.02.14 |
댓글