캐릭터 콤보 액션

Unreal 이론|2024. 10. 22. 15:39

[이득우의 언리얼 프로그래밍 Part2 수업의 정리]

 

애니메이션 몽타주

  • 몽타주: 이미지 일부를 잘라내 한 화면에서 합성하는 회화 기법
  • 애니메이션 클립을 잘라내고 합성한 후 이를 재생하는 애니메이션 기능
  • 애니메이션 클립을 모아둔 다수의 섹션으로 구성되어 있음
  • 섹션끼리 연동할 수 있으며, 스크립트를 통해 원하는 섹션으로 건너뛸 수 있음

DefaultGroup 칸에 애니메이션을 집어넣고, 애니메이션의 분기점에 Montage Section을 추가해준다

 

몽타주 섹션을 4개로 분리해 저장을 하고, AnimInstance에서 공격 입력에 따라 제어

 

NPC와 플레이어가 같이 몽타주 액션을 공유하여 재생하도록 설계 - CharacterBase.h로 확장해준다

// combo Action Section
protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Animation)
	TObjectPtr<class UAnimMontage> ComboActionMontage;
	
	void ProcessComboCommand();

 

또한 몽타주가 업데이트 될 때 마다 ConstructorHelper의 reference를 추가하는것이 생산성에 좋지 않으므로, 앞으로 BP에서 업데이트 해준다.

BP_ABCharacterPlayer의 Combo Action Montage를 AM_ComboAttack으로 설정
Animation BP에서 몽타주를 재생할 수 있는 Slot 노드 배치
사용중인 Anim Class를 BP_ABCharacterPlayer에 설정해주고 GameMode도 BP_ABCharacterPlayer로 변경

 

콤보 공격의 기획

  • 콤보 정볼르 저장한 데이터 에셋의 생성(ArenaBattleCombo)
  • 각 콤보마다 입력을 테스트하는 프레임을 지정 (마지막 프레임 제외)
  • 테스트 프레임 전에 입력이 들어오면 다음 몽타주 섹션으로 이어서 재생
  • 테스트 프레임보다 입력이 늦으면 해당 섹션을 마저 플레이하고 종료

 

콤보공격의 구현

ComboAttack 구현을 위한 데이터 에셋. 마지막 프레임은 조사할 필요 없기 때문에 -1.0 프레임으로 지정

 

 

 

'Unreal 이론' 카테고리의 다른 글

아이템 시스템  (1) 2024.10.30
캐릭터 스탯과 위젯  (1) 2024.10.27
캐릭터 애니메이션 설정  (0) 2024.10.21
캐릭터 컨트롤 설정  (0) 2024.10.20
캐릭터와 입력 시스템  (1) 2024.10.19

댓글()