[UE5] Assassin1-신체 부위별 SkeletalMeshComponent

윤정민·2023년 5월 2일
0

[Unreal Project]Assassin

목록 보기
2/26

1. 개요

언리얼 엔진에서 Character class를 생성하게 되면 기본적으로 하나의 SkeletalMeshComponent가 멤버변수로 존재한다. 해당 SkeletalMeshComponent에 원하는 Mesh를 설정하면 캐릭터 형태를 볼 수 있다. 하지만 이렇게 설정하면 Mesh를 변경할 때 부분적으로 변경하지 못한다.

2. 부위 별 메쉬설정

  • CharacterMesh: 벗고있는 Character Mesh를 설정
    • Clothes: 상의 SkeletalMesh
    • Clothes1: 하의 SkeletalMesh
    • SK_Head: 머리 SkeletalMesh
    • gloves: 장갑 SkeletalMesh
    • SK_Hair: 머리카락 SkeletalMesh
  • CharacterMesh하위에 있는 Mesh들을 변경하면 옷을 변경할 수 있다.

3. Animation

Mesh 설정을 다 하고 움직여보면 발가벗을 캐릭터만 움직이고 옷들은 움직이지 않는것을 확인할 수 있다. Animation관련 유의할 부분을 알아보자

3.1. 하위 Mesh의 animInstance

  • 옷 Skeletal Mesh의 AnimInstance를 CharacterMesh와 동일한 AnimInstance로 설정

3.2. Montage 실행

  • Montage를 Play할 때 CharacterMesh와 그 하위의 Mesh들 모두 실행시켜주자

필자가 모두 실행하는 방법은 좀 멍청하다. 혹시 더 좋은 방법 아시는분 공유 부탁드립니다...

for (auto mesh : MeshArr)	//SkeletalMesh를 저장해둔 배열을 순회
{
	Cast<UACAnimInstance>(mesh->GetAnimInstance())->PlayClimbUpMon(); //모든 SkeletalMesh에 Montage를 실행시킴
}

4. 완성

profile
그냥 하자

0개의 댓글