[UE4]FPS Project-6 (Enemy)

윤정민·2022년 7월 19일
0

Unreal Engine

목록 보기
10/34

1. character를 부모클래스로 하는 enemy class를 생성

  • .h

    • 데미지 콜리전을 위해 box컴포넌트를 생성함

      UPROPERTY(EditAnywhere)
        class UBoxComponent* DamageCollision
    • 콜리전 발동 함수 OnHit를 생성

      UFUNCTION()
      void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor,
      UPrimitiveComponent* OtherComp, int32 OtherBodyIndex,
      bool bFromSweep, const FHitResult& Hit);
  • .cpp

    • include
    #include "Components/BoxComponent.h"
    #include "MonsterShooterCharacter.h"
    • AEnemy()
    DamageCollision = CreateDefaultSubobject<UBoxComponent>(TEXT("Damage Collision"));
    DamageCollision->SetupAttachment(RootComponent);
    • BeginPlay()
    DamageCollision->OnComponentBeginOverlap.AddDynamic(this, &AEnemy::OnHit);

2. Blueprint

  • CollisionBox의 Transform과 Scale을 적절히 조정 함

  • Character Mesh에 원하는 asset을 붙여줌
  • Character Mesh를 적절한 Transform과 Rotation으로 조정함

3. Animation

- Bland Space

1) 애니메이션 > bland space 1D > Vampire_skeleton을 선택해 Animation을 만듦
2) AssetBrowser에 있는 running 과 idle에셋을 적절하게 위치시켜 Animation을 제작함
3) 축 세팅 > Horizontial > Name을 Speed로 설정하고 최대 Value를 375로 설정함

- Blueprint

1) Animation Blueprint생성
2) 'Speed'를 이름으로 하는 float value 생성
3) AnimGraph에서 state machine 노드를 생성 뒤 Output Pose와 연결
4) state machine에 들어가 새로운 state 노드를 생성함 (Idle/Walk)
5) Idle/Walk state에 들어가 만들어둔 bland를 연결해주고 Speed를 bland의 Speed에 연결해줌

- Enemy와 연결

1) Enemy Blueprint에 들어와 Mesh를 선택
2) 디테일 패널 AnimationMode를 만들어둔 Animation Blueprint로 설정
profile
그냥 하자

0개의 댓글