Make Unreal REAL.
article thumbnail
이득우의 언리얼 C++ 게임 개발의 정석

 

마켓플레이스에서 무기 에셋을 임포트한다.

 

 

무기는 캐릭터에 Mesh 컴포넌트를 붙이고 Transform을 조정해 배치하는 것이 아니다.

  • 캐릭터가 아닌 메시에 부착해야 애니메이션에 따라 무기가 함께 움직인다.

 

메시에 무기나 액세서리를 부착하기 위한 용도로 소켓이라는 시스템을 제공한다.

  • Skeletal Mesh 에셋을 열면 원하는 위치와 회전으로 소켓을 추가할 수있다.

 

 

소켓을 우클릭하면 Add Preview Asset에서 무기나 액세서리를 테스트로 붙여볼 수 있다.

 

 

상단의 Preview Animation 메뉴에서 애니메이션을 선택하면 테스트용 애니메이션을 재생해 볼 수도 있다.

 

 

무기로 사용할 BlackKnight 검은 Skeletal Mesh 에셋이기 때문에 캐릭터 클래스에 컴포넌트를 위한 변수를 추가한다.

 

 

생성자에서 무기를 설정한다.

 

USkeletalMeshComponent()->DoesSocketExist() 함수를 이용해 해당 이름의 소켓이 존재하는지 확인할 수 있다.

 

다른 에셋들을 불러올 때와 동일한 방법으로 가져오고 USkeletalMeshComponent()->SetSkeletalMesh() 함수로 메시를 설정한다.

 

SetupAttachment() 함수에 두 번째 인자로 소켓 이름을 넘겨주면 설정된 부모의 해당 소켓에 배치되어 Tansform이 자동으로 설정된다.

 

 

소켓을 이용해 무기 장착에 성공했다.

 

'Unreal Engine > 이득우의 언리얼 C++ 게임 개발의 정석' 카테고리의 다른 글

아이템 상자 구현  (0) 2023.03.09
무기를 액터로 분리  (0) 2023.03.09
데미지 프레임워크  (0) 2023.03.09
디버그 드로잉  (0) 2023.03.09
콜리전과 공격 판정  (0) 2023.03.08
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그