루리코딩 세상

무기 장착해주기, SkeletalMesh 활용하기 본문

이론/Unreal Engine

무기 장착해주기, SkeletalMesh 활용하기

루리딩 2025. 5. 28. 21:32

기본적으로 캐릭터들마다 장착하는 다양한 무기를 적용함에 있어서 기초적인 방법을 정리하려고 한다

클래스는 블루 프린트 클래스 - 액터로 생성했다.

 

이후에 컴포넌트에 "+ 추가" 기능을 활용해서 "SkeletalMesh"

추가 이후에 Mesh가 적용 될 수 있도록 하였다.

디테일에 메시의 None 으로 적용된 것을 생성되어 파일에 있는 메시 에셋을 추가함으로서,

정상적으로 뷰포트에 원하는 무기가 적용된 것을 확인 할 수 있다.

Event BeginPlay로 소환하려 했으나, 적용이 되지않았다

 

 

Mash 활용해서, 무기들의 기준점 잡아주기.


기준점이 없는 상태로 이벤트를 실행시켜줘도, 변수자체 혹은 불러올 클래스?컨테이너라 해야되려나.

값이 존재하지 않음으로 SkeletonMash에서 "기준점" 이라는 개념을 만들어줘야한다.

원하는 위치에 - 소켓 추가 - 프리뷰 에셋 추가 - 이후에 적절한 위치로 디테일을 활용해서 위치를 조정해주면 된다.

꽤나 시간이 걸리는 작업이었다. 디테일한 부분까지 다 신경쓰면서 만들면 정성이나 시간이 꽤나 걸리는 듯하다.

 

 

이후에 같은 방법으로 만들어둔 바이킹이 아닌, 적으로 활용할 컴포넌트에 적용되는 SkeletonMash에

기준점을 만들어서 동일한 방법으로 먼저 "Holster_Sword" 라는 하나의 값을 만들어 주었다.

 


장착을 해보자, 만들어진 값을 활용해서 다음과 같이 만들어주었다. 이용된 기능(노드)는 다음과 같다.

🧱 1. Make Transform (트랜스폼 만들기)

  • Transform은 객체의 위치(Location), 회전(Rotation), **크기(Scale)**를 담고 있는 구조입니다.
  • Make Transform은 이 세 가지 값을 묶어서 하나의 Transform으로 만들어주는 기능입니다.
  • 🧩 주로 어디에 쓰이나요?
    → SpawnActor 같은 기능에서 어디에 어떤 방향으로 배치할지 설정할 때 사용합니다.
위치: (0, 0, 100)
회전: (0, 90, 0)
크기: (1, 1, 1)
→ 이 세 값을 가지고 하나의 Transform 데이터를 만듬

 

🎬 2. SpawnActor (액터 생성하기)

  • 게임 도중에 새로운 액터(Actor)를 생성하는 기능입니다.
  • 예를 들어, 총알을 쏠 때 총알 액터를 생성하거나, 적을 스폰할 때 사용합니다.

🔹 사용 예:

SpawnActor(액터 클래스, 위치/회전/크기를 담은 Transform)

🧩 참고:
→ Make Transform과 함께 자주 쓰이며, 어떤 위치에 어떻게 생성할지 정할 수 있습니다.

 

 

🔗 3. Attach Actor to Component (액터를 컴포넌트에 붙이기)

  • 액터(또는 액터의 컴포넌트)를 다른 컴포넌트붙이는(부착하는) 기능입니다.
  • 즉, 부모-자식 관계를 만들어서, 부모가 움직이면 자식도 따라 움직이게 합니다.

🔹 예:

총에 총알을 붙인다 → 총을 움직이면 총알도 같이 움직임

🧩 옵션:

  • Socket 이름으로 더 정밀한 위치 설정 가능
  • Attach Rules로 위치/회전 유지 여부 설정 가능

🧠 정리

기능 설명 사용 목적
Make Transform 위치, 회전, 크기를 묶은 데이터 생성 액터를 어디에 배치할지 설정할 때
SpawnActor 새로운 액터 생성 총알, 적, 아이템 생성 등
Attach Actor To Component 액터를 다른 컴포넌트에 부착 움직임이나 관계를 연동할 때

 

정상적으로 모두 무기를 가질 수 있게 되었다...