[UE 5] 3D 게임 개발 3 - 3D 캐릭터

0시0분·2025년 4월 1일
0

UE 5

목록 보기
41/52

에픽스토어에서 무료 에셋을 다운받아 사용했다.

Skeletal Mesh

2D 캐릭터는 플립북 처럼 여러 이미지를 빠르게 재생시켜 애니메이션을 만듦.
그러나 3D 캐릭터는 그런 방식으로 만들수가 없음.
따라서 bone 이라는 뼈대를 지정해두고, 해당 bone 값을 이동시켜 애니메이션을 생성하는데,
그게 바로 Skeleton을 사용해 만든 Skeletal Mesh.


캐릭터 이동

  • Set Actor Location

    실제로 위치하고자 하는 좌표를 New Location에 넣어줘야 함.

  • Add Movement Input

    가고자하는 방향만 지정해주면 됨.
    World Direction의 경우 0~1 사이의 값으로 속도를 조절. 1이 초과될 경우 1로 인식. 0.5는 50%.
    World Direction * Scale Value 로 계산된 방향을 Character Movement 컴포넌트 에서 자동으로 소모함.
    👉 Pawn을 상속받았을 경우에는 자동으로 소모되지 않음!!!

대각선의 경우 Forward와 Right 벡터의 합산값으로 방향이 결정되는데,
둘 중 한 벡터의 Scale 값을 증가시키면 이동 방향이 45도에서 벗어나게 됨.


캐릭터 회전

  • Set Actor Rotation

    Loaction 때와 마찬가지로 변화할 값을 직접 넣어줘야 함.


  • Add Actor Local Rotation

    바뀔 값만 넣어주면 됨.

    Set 함수로 직접 이동하지 않고 움직이겠다는 의사표현만 한채 실제 움직임은 컴포넌트에서 하는 이유는
    후에 코드가 더 복잡해질 경우 이동 로직을 직접 구현했을 때보다 분리시키는게 더 낫기 때문!

  • Add Controller Yaw Input


    캐릭터(Pawn)를 직접 조작하는 것이 아니라, Player Controller의 Rotation 값을 변경함.
    (❗❗ Pawn과 Controller는 별개임 ❗❗)

    캐릭터와 카메라의 이동이 분리되어야 하는 경우에 유용함.
    PawnController의 값을 따라가는 속도를 조절할 수 있는데,

    캐릭터의 저 값을 체크하면 PawnController의 변경된 값을 그대로 사용하겠다는 뜻.

    Controller의 저 값을 조절하면 지정된 속도만큼 서서히 따라가면서 사용하겠다는 뜻.

Pitch, Yaw, Roll
언리얼에서 사용하는 xyz축의 또다른 이름..
👀 https://velog.io/@sobokii/UE5-Roll-Pitch-Yaw
👀 https://blog.naver.com/milkysc/221754450137


결과물

0개의 댓글