EDR_Project / EDR_Boss_Knight

EDR_Project에서 사용할 기사 형태의 보스 캐릭터입니다.

중간 피드백에서 보스를 조금 더 보완해야 할 것 같다고 피드백을 받았기 때문에

새로운 기사 형태 보스 캐릭터를 만들어 볼 예정입니다.

 

소켓 추가

캐릭터의 손에 무기를 쥐어줘야 해서 스켈레탈 메시의 오른쪽 손에 소켓을 추가 해 주었습니다.

반응형

EDR_Boss_Knight.h

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "MyCharacter.h"
#include "EDR_Enemy_Weapon.h"
#include "EDR_Boss_Knight.generated.h"

/**
 * 
 */
UCLASS()
class EDR_API AEDR_Boss_Knight : public AMyCharacter
{
	GENERATED_BODY()
	AEDR_Boss_Knight();
	
protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;
};

EDR_Boss_Knight.cpp

// Fill out your copyright notice in the Description page of Project Settings.


#include "EDR_Boss_Knight.h"
#include "EDR_Enemy_Weapon.h"

AEDR_Boss_Knight::AEDR_Boss_Knight()
{

	// 캐릭터 메시랑 캡슐콜리전
	RootComponent = GetCapsuleComponent();
	GetMesh()->SetupAttachment(GetCapsuleComponent());
	GetCapsuleComponent()->SetCapsuleHalfHeight(88.0f);

	GetCapsuleComponent()->SetCapsuleRadius(34.0f);
	GetMesh()->SetRelativeLocationAndRotation(FVector(0.0f, 0.0f, -88.0f), FRotator(0.0f, -90.0f, 0.0f));


	// 메시 받아오기
	static ConstructorHelpers::FObjectFinder<USkeletalMesh>MODEL(TEXT("/Game/BLACKSUN_BOSSBUNDLE1/Characters/Thral/SK_ThrallRigged.SK_ThrallRigged"));
	if (MODEL.Succeeded())
	{
		GetMesh()->SetSkeletalMesh(MODEL.Object);
	}

	// 크기 1.6배 키우기
	SetActorScale3D(FVector(1.6f, 1.6f, 1.6f));
}
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));
	}
}

 

만들어 두었던 MyCharacterWeapon을 상속받습니다.

기본 생성자에서는 캐릭터에 사용될 메시와 캡슐컴포넌트를 설정합니다.

크기가 조금 작은것 같아 1.6배 키워주었습니다.

 

BeginPlay()에서는 캐릭터의 소켓에 만들어두었던 Weapon을  장착해주었고, 위치 크기 각도 조정 해 주었습니다.

 

 

실행 화면

 

'Unreal Engine 5 > EDR_Project' 카테고리의 다른 글

EDR_Project / EDR_Boss_Knight (1)  (2) 2024.11.11
EDR_Project / Character (8) HitSound  (4) 2024.11.11
EDR_Proejct / Character (7) Weapon  (0) 2024.10.28
EDR_Project / Weapon  (2) 2024.10.28
EDR_Project / 중간 발표  (0) 2024.10.26