언리얼 엔진 5 / 캐릭터에 무기 끼우기 ( 소켓 추가 )

언리얼 엔진 5 에서 캐릭터에 무기 끼우기

캐릭터에게 무기를 쥐어주는 방법은 여러가지가 있겠지만 그 중에서 소켓을 추가하여 장착시키는 방법이 있습니다.

 

 

소켓 추가 방법

etc-image-0

1. 무기를 끼우고 싶은 캐릭터의 스켈레탈 메시파일로 들어갑니다.

 

etc-image-1

2. 무기를 끼울 곳에 ( 오른손이면 hand_r )에 우클릭을 합니다.

 

etc-image-2

3. 소켓 추가를 선택하고 소켓의 이름을 지어줍니다.

 

etc-image-3

4. 추가한 소켓을 우클릭 하여 프리뷰 에셋을 집어넣어 소켓이 잘 추가되었는지 확인합니다. 

 

etc-image-4

5. 프리뷰 에셋을 활용하여 소켓의 각도와 위치를 맞춥니다.

반응형

소켓에 장착하는 코드

void AEDR_Boss_Knight::BeginPlay()
{
	Super::BeginPlay();

	// 게임 실행시 캐릭터 손에 무기 장착
	FName WeaponSocket(TEXT("hand_rSocket"));
	CurrentWeapon = GetWorld()->SpawnActor<AEDR_Enemy_Weapon>(FVector::ZeroVector, FRotator::ZeroRotator);
	if (nullptr != CurrentWeapon)
	{
		CurrentWeapon->AttachToComponent(GetMesh(), FAttachmentTransformRules::SnapToTargetNotIncludingScale, WeaponSocket);
		//CurrentWeapon->SetActorRelativeRotation(FRotator(0.0f, 0.0f, 180.0f)); // 180도 회전
		CurrentWeapon->SetActorRelativeLocation(FVector(0.0f, 0.0f, -10.0f)); // 무기이동


		// 무기 크기 키우기
		CurrentWeapon->SetActorScale3D(FVector(2.0f));
	}
}

 

만들어둔 소켓으로 게임 시작시 무기가 장착되도록 하는 코드입니다.

 

실행 화면

etc-image-5