요약
1.
용어 설명
1.
Tip
1.
보스 몬스터 클래스 생성.
Monster클래스를 상속받고
Minion Warrior 코드를 가져와서 이름만 바꿈
MonsterAnimation에서 Enum타입을 몇개 추가. 보스용. 스킬같은?
애니메이션 > 애니메이션 블루프린트 > Grux_skeleton, AMonsterAnimation > "ABGrux"
AGrux::AGrux()
{
PrimaryActorTick.bCanEverTick = true;
/*static ConstructorHelpers::FObjectFinder<USkeletalMesh> MeshAsset(TEXT("/Script/Engine.SkeletalMesh'/Game/ParagonMinions/Characters/Minions/Dusk_Minions/Meshes/Minion_Lane_Super_Dusk.Minion_Lane_Super_Dusk'"));
if (MeshAsset.Succeeded())
GetMesh()->SetSkeletalMesh(MeshAsset.Object);*/
GetCapsuleComponent()->SetCapsuleHalfHeight(120.f);
GetCapsuleComponent()->SetCapsuleRadius(60.f);
GetMesh()->SetRelativeLocation(FVector(0.f, 0.f, -110.f));
GetMesh()->SetRelativeRotation(FRotator(0.f, -90.f, 0.f));
/*static ConstructorHelpers::FClassFinder<UAnimInstance> AnimClass(TEXT("/Script/Engine.AnimBlueprint'/Game/Monster/Animation/ABMinionWarrior.ABMinionWarrior_C'"));
if (AnimClass.Succeeded())
GetMesh()->SetAnimInstanceClass(AnimClass.Class);*/
mMonsterTableRowName = TEXT("Grux");
mHitActor = CreateDefaultSubobject<AParticCascade>(TEXT("HitParticle"));
AParticCascade* Particle = Cast<AParticCascade>(mHitActor);
Particle->SetParticle(TEXT("ParticleSystem'/Game/ParagonYin/FX/Particles/Yin/Abilities/Primary/FX/P_Yin_Primary_Impact.P_Yin_Primary_Impact'"));
Particle->SetSound(TEXT("SoundWave'/Game/Sound/Fire1.Fire1'"));
FConvertMaterial Mtrl;
Mtrl.Index = 0;
mDissolveMtrlIndexArray.Add(Mtrl);
}
방법은 2가지,
시네마틱 영상 끝나면 시네마틱용 Actor를 삭제하거나 이동하고, 보스 몬스터 스폰,
또는
애초에 보스몬스터를 미리 스폰해서 시네마틱 영상 하기
시네마틱용의 애니메이션은 어쩌피 시네마틱시스템에서 컨트롤하기에 후자가 괜찮을듯?
m하지만 후자는 애니메이션 인스턴스를 가지고있기에 시네마틱 재생할 때만, 별도 설정을 해야한다. (시네마틱과 상충하기때문.) (애니메이션 모드)
AI도 별도 설정을 해야한다. ()
시네마틱 시스템에서 애니메이션을 하면, 별도의 애니메이션 인스턴스를 잡기때문에 구현한 인스턴스, 내부함수가 동작을 안하고, AI만 동작하는 에러,
선생님도 모르는듯.
수업에선 전자로 진행
구조체형으로 스킬정보 저장해서 관리.
데이터테이블을 만들거면 우선 기준이 될 구조체는 있어야함.
GameInfo.h에 생성.