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));
}
}
만들어 두었던 MyCharacter와 Weapon을 상속받습니다.
기본 생성자에서는 캐릭터에 사용될 메시와 캡슐컴포넌트를 설정합니다.
크기가 조금 작은것 같아 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 |