inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 언리얼 소울라이크 개발: A to Z

스태미나 UI 만들기

애니메이션은 끝났지만 아직 콤보 시퀀스가 유효할 때 추가 입력 처리하는 부분 질문입니다.

해결된 질문

114

312

작성한 질문수 2

0

DS1Character.cpp에서 ExecuteComboAttack() 함수 부분 질문이 있습니다.

....

if (bComboSequenceRunning && bCanComboInput == false)
{
    // 애니메이션은 끝났지만 아직 콤보 시퀀스가 유효할 때 - 추가 입력 기회
    ComboCounter++;
    UE_LOG(LogTemp, Warning, TEXT("Additional input : Combo Counter = %d"), ComboCounter);
}
else
{
    //UE_LOG(LogTemp, Warning, TEXT(">>> ComboSequence Started <<<"));
    ResetCombo();
    bComboSequenceRunning = true;
}

...

위의 해당 조건은 bCanComboInput 변수로만으로도 분기할 수있지 않나요?

현재 짜주신 로직에서

bComboSequenceRunning 변수가 없어도 될 것 같다는 생각이 들었고,

해당 bComboSequenceRunning 변수를 다 지우고 돌렸는데, 있을 때와 없을 때의 콤보 시퀀스가 유효할 때 추가 입력 처리하는 부분의 사용자 경험 차이가 없는 것 같아서

혹시 어떨지... 궁금해서 질문 드립니다.

 

 

끝으로,
퀄리티 높은 강의 정말 감사합니다

 

c++ unreal-engine 언리얼-c++

답변 3

1

312

제가 잘 못 이해하고 있었던거 인지하였습니다!

다시 영상 정주행하고 이해가 되었습니다...
퀄리티 높은 강의 정말 감사합니다~

0

Spector

안녕하세요!

이해가 되셨다니 정말 다행이네요.

완강까지 파이팅하시고, 좋은 하루 보내세요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 312님.

콤보 시스템 구현에서 언급하신 로직의 핵심은 추가 입력을 통해 콤보 연계가 가능한지를 판단하여, 플레이어의 입력을 반영하는 것입니다.

조건의 의미

  • bComboSequenceRunning: 현재 콤보 시퀀스가 진행 중인지를 나타내는 플래그입니다. 콤보 공격이 실행되어 시퀀스가 연속적으로 이어지는 상황을 관리합니다.
  • bCanComboInput: 플레이어가 추가적인 콤보 입력을 할 수 있는지를 판단하는 플래그입니다. 공격이 끝난 상태에서 플레이어의 추가 입력을 받는 시점을 조절합니다.

로직의 흐름

  • if (bComboSequenceRunning && bCanComboInput == false): 이 조건은 콤보 시퀀스가 진행 중이면서도 현재 추가 입력 가능 상태가 아닌 경우를 캐치합니다. 이 말은 즉슨, 현재 프레임에서 플레이어가 추가 입력이 가능한 상태로 전환되기 전에 입력을 시도한 경우를 의미합니다.

    • 이러한 경우 ComboCounter++를 통해 콤보가 유효함을 유지하고, 추가 입력을 반영함으로써 다음 콤보 공격이 이어질 수 있도록 준비합니다.
  • else: 콤보 시퀀스가 새로운 상태로 다시 시작되었거나, 첫 콤보 공격 입력을 의미합니다. 내부적으로 ResetCombo()로 초기화된 상태에서 새로운 콤보 입력을 받아들여, 연속적인 공격이 가능하도록 준비합니다.

해당 코드 구조는 플레이어가 연속 공격을 성공적으로 입력하는 동안, 공격 연계를 끊김 없이 이어갈 수 있도록 설계되어 있습니다. bComboSequenceRunningbCanComboInput의 상태 변화는 애니메이션 연계와 공격 간의 짧은 창구 역할을 하기 때문에, 이 조건을 이해하고 활용하는 것이 중요합니다.

아래 추가적으로 도움이 될 수 있는 유사한 토픽의 링크를 참고하시길 바랍니다:
- CombatComponent, Weapon 참조

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

맵핑부분..

0

26

2

ABP "스테이트의 시퀀스 플레이어에 따른 자동 규칙"질문드립니다.

0

34

1

사용하시는 툴 질문 드립니다.

0

32

2

C++ 생성자 값 관련 질문입니다.

0

70

1

빠른 헤더파일 추가 관련 질문입니다.

0

75

2

각 섹셕별로 수업 자료가 제공된다고 했는데 어디에서 받을 수 있는지 모르겠습니다.

0

85

2

프로젝트 생성 및 설정 첫 강의를 보면서 들었던 궁금한 점

0

119

2

안녕하세요. 입문자입니다.

0

65

1

GAS 관련

0

86

1

폴암 무기 집을때 크러쉬

0

89

2

Tick 컴포넌트에서 락온 함수

0

65

2

카메라를 적에게 고정시키는 로직 부분

0

72

2

강의 자료

0

106

3

방어구 시스템 구현 질문

0

85

3

블로킹 시 피격 이펙트 오류?

0

56

2

AlreadyHitActor들을 TArray로 처리하는 것에 질문있습니다.

0

57

2

무기 콜리전 시스템에 대해

0

101

1

Hit Reaction 설계

0

114

3

FindClosestTarget CheckValue 절댓값 처리

0

66

2

FindClosestTarget 노멀 벡터 방향

0

57

2

44분26초 동일하게 코드를 작성한것같은데 빌드에러가 뜹니다ㅠ

0

83

2

파티클 깨짐

0

54

1

Geneal Action 의미

0

48

0

2강 32분18초 Generate definition 하는 방법이 뭘까요?

0

80

1