현재 프로젝트에 있는 BP_ShooterCharacter에 단순히 카메라만 추가해보겠다.
그러면 단순히 보인다. 카메라 사용을 훨씬 개선해주는 스프링암을 달아줘야 한다. 그전에 회전도 자연스럽지 않기 때문에 카메라 컴포넌트로가서 회전 문제를 해결하고자 한다!
여기서 폰 제어 회전 사용을 누르게 되면 회전 제어를 이용하여 카메라를 회전시키게 된다.
실행시켜보면 회전이 되긴 하는데, 카메라 주위로만 회전을 한다. 해결을 위해 캡슐 컴포넌트를 누르고 스프링 암을 검색해 추가해준다. 이후 카메라를 스프링 암의 자식이 되게 설정해준다
수정을 위해 아까 카메라에 체크 해준 폰 제어 회전 사용을 언체크 하고, 스프링 암에서 그 부분을 다시 체크 해준다. 그러면 원하는 대로 움직인다. 벽에 부딪혀도 카메라가 밖으로 나가지도 않으며 꽤 잘 동작한다(Spring Arm의 기능)
재미있는 점을 찾았다. 우리가 스프링 암을 회전 시키고자 회전을 하면 회전이 일어나지 않으며 오프셋을 사용해 그 카메라를 이동시켜야 한다
카메라 암에 오프셋을 설정해 조금 오른쪽에 오도록 조정하고, 벽에 부딪힐때 카메라가 밖으로 안나가고 플레이어에 부딪히는 것을 볼 수 있었다.
스켈레톤 애셋의 기본 기능은 매시와 애니메이션을 연결하는 기능이다. 모두 언리얼의 동일한 스켈레톤 에셋을 쓰는 다수의 메시가 있을 수 있고, 동일한 스켈레톤을 사용하는 다수의 애니메이션을 설정할 수 있다. 그래서 우리는 매시들 간에 애니메이션 에셋을 공유할 수 있다.
유니티 공부할 때도 애니메이션이랑 리깅, 이런게 어려웠던 나라서 스켈레탈 메시와 애니메이션에 대해서 간단하게 찾아보았다.
💀스켈레탈 메시(Skeletal Mesh)
🎧애니메이션
🧐스켈레탈 메시와 애니메이션의 결합
언리얼 엔진에서는 스켈레탈 메시와 애니메이션 기술을 다음과 같은 기술로 사용한다
등등등.. 존재한다
다운 받아둔 에셋에서 애니메이션을 찾아 BP_ShooterCharacter에 적용시켜보았다
BP_ShooterCharacter을 연 뒤 애니메이션 모드를 Use Animation Asset을 선택하고 플레이할 애님에 적용할 Ability_RMB_WALK_FWD를 선택해주면 이제 플레이어가 앞으로 걷는 듯 한 모습을 볼 수 있다.
애니메이션은 그대로 두고 스켈레탈 메시를 다른 것을 바꿔도 애니메이션은 멈추지 않는다
왜?.? 스켈레톤이 같기 때문에 서로 호환된다!
📒TIL: 언리얼 엔진 - 스켈레탈 메시와 애니메이션, 3인칭 카메라 설정
스프링 암(Spring Arm) 컴포넌트를 사용해 카메라 충돌 방지 및 자연스러운 움직임 구현.
설정 과정
1. 카메라를 스프링 암의 자식으로 설정.
2. 카메라 컴포넌트의 **"폰 제어 회전 사용"**은 꺼두고, 스프링 암에서 이를 활성화.
3.위치 오프셋을 사용해 카메라 위치 미세 조정.
결과: 벽과의 충돌 시 카메라가 캐릭터에 자연스럽게 가까워지는 효과.
스켈레탈 메시
정의: 뼈대(스켈레톤)와 메쉬(표면)로 구성된 3D 모델.
핵심 개념: 스켈레톤이 움직이면 메쉬도 함께 변형되며, 리깅을 통해 연결됨.
애니메이션
정의: 스켈레톤의 뼈를 움직여 캐릭터에 동작을 부여.
핵심 유형
1. 애니메이션 블루프린트: 상태 머신을 통해 동작 전환.
2. 애님 시퀀스: 개별 애니메이션 데이터.
3. 리타겟팅: 스켈레톤을 공유해 애니메이션을 다른 캐릭터에 적용.
애니메이션 적용
애니메이션 모드를 Use Animation Asset로 설정.
애님 시퀀스를 선택해 캐릭터에 적용.
동일한 스켈레톤을 사용하면 다른 스켈레탈 메쉬에서도 애니메이션이 호환됨.
핵심 요약
3인칭 카메라: 스프링 암으로 충돌 방지 및 자연스러운 카메라 제어.
스켈레탈 메시: 스켈레톤과 메쉬로 구성된 캐릭터 모델.
애니메이션: 블루프린트와 상태 머신을 통해 동작 제어 및 리타겟팅 가능.
애니메이션 적용: 동일한 스켈레톤을 사용하면 애니메이션을 다른 메쉬에서도 재사용 가능.