inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

VS에서 저장 안한 코드가 에디터에서 컴파일 할 때마다 사라지는 문제

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

에디터를 켠 상태로 vs코드를 수정하다가 저장을 안하고 그대로 에디터에서 새 클래스를 생성한다던지 하는 방식으로 에디터에서 컴파일을 실행하면, 저장안한 코드는 전부 사라지는 것 때문에 강의를 여러번 되돌려보고 디버깅 따로 해보느라 여러번 낭패를 봤는데요. 이거는 그냥 코드 수정할 때마다 저장 제때하는 것밖에 방법이 없는 건가요??? 뭔가 방지하는 방법은 없나요

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 246

NotifyActorBeginOverlap 방식 충돌체크

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

예전에 Trigger의 오버랩 델리게이트에 직접 함수를 바인딩하여 충돌체크를 했던 방식과 사뭇 다른데요. NotifyActorBeginOverlap 은 액터가 가지고있는 모든 충돌 가능 컴포넌트를 모두 자동으로 감시하나요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 383

ApplyGameplayEffectSpectToTarget()을 사용하기 전 조건

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

이 함수를 이용하려면 TargetDataHandle을 넣도록 되어 있는데요. 그래서 Trace 어빌리티 테스크를 통해 전달받은 데이터를 사용한 것 같습니다. 그런데 다른 방식으로 타겟을 정하거나 수동으로 ApplyGameplayEffectSpectToTarget()를 사용하려면 FGameplayAbilityTargetDataHandle을 억지로 만들어 채워야 하나요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 455

플레이어에만 위젯을 넣었는데 NPC에서 HpBar가 어떻게 나오나요??

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

강의 따라가다가 제 화면에서는 플레이어에만 HpBar가 나오는데 강의에선 NPC에도 나와서 질문 드렸습니다. + npc에도 같은 위젯코드를 넣어봤더니 에디터를 처음 켤 때 로딩중에 위젯컴포넌트에서 InitWidget()이 실행되면서 위젯의 SetAbilitySystemComponent()를 호출하게 되는데요. 저는 SetAbilitySystemComponent()에 ensure을 놔뒀더니 이 타이밍이 빙의 전이라 어트리뷰트가 등록이 안되있는 상태라서 에러가 발생하는 것같습니다. 강의 처럼 if 로직으로 바꾸면 되긴하는데 로딩중에 위젯컴포넌트의 InitWidget()가 호출되는 이유가 무엇인가요? 월드에 npc가 배치되있긴하지만 BeginPlay()를 호출하지는 않는데 왜 InitWidget()이 호출되는지 잘 모르겠습니다. 제가 part2에서 들었던거는 액터의 BeginPlay() 이후에 호출된다고만 들었는데 다른 이유가 있나요?? 이것 때문인 것 같습니다.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 2 좋아요 0 조회수 513

게임플레이 이펙트의 Magnitude Calculation Type을 바꿨을 때 질문입니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

Magnitude Calculation Type을 Attribute Base로 바꿨을 때도 아래의 코드를 지우지 않았는데, 이거는 그냥 무시되는 건가요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 358

ASC의 컨테이너에 추가한 타겟 액터 질문

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

이렇게 ASC 에 추가하고나서 OnDestroy() 될 때, 타겟 액터는 지우는데요. ASC의 컨테이너는 이와 관련해서 타겟 액터를 다시 뺀다던가 하는 처리를 안 해도 되는건가요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 399

ASC->SpawnedTargetActors 에 추가된 타겟 액터에 관해서 질문있습니다.

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

6강의 ABAT_Trace의 FinalizeTargetActor() 함수에서, 이하와 같이 생성완료된 타겟 액터를 오너 캐릭터의 ASC의 SpawnedTargetActors에 추가했는데, Ability Task가 종료될때 SpawnedTargetActors에서 제거하지 않아도 괜찮을까요? void UABAT_Trace::FinalizeTargetActor() { UAbilitySystemComponent* ASC = AbilitySystemComponent.Get(); if (ASC) { const FTransform SpawnTransform = ASC->GetAvatarActor()->GetTransform(); SpawnedTargetActor->FinishSpawning(SpawnTransform); ASC->SpawnedTargetActors.Push(SpawnedTargetActor); SpawnedTargetActor->StartTargeting(Ability); SpawnedTargetActor->ConfirmTargeting(); } } 혹시나 삭제해야 한다면 타겟 액터 콜백 함수에서 EndTask() 의 실행 직전에 삭제하면 되는지 궁금합니다. void UABAT_Trace::OnTargetDataReadyCallback(const FGameplayAbilityTargetDataHandle& DataHandle) { if (ShouldBroadcastAbilityTaskDelegates()) { OnComplete.Broadcast(DataHandle); } // 추가한 부분 UAbilitySystemComponent* ASC = AbilitySystemComponent.Get(); if (ASC) { ASC->SpawnedTargetActors.Remove(SpawnedTargetActor); } EndTask(); }

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
Kumuri 댓글 1 좋아요 0 조회수 416

SetWaitingOnAvatar() 질문

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

이거 주석해도 별다른 차이점을 잘 모르겠습니다. 내부에 보니, 기다리는 상태 Enum을 Avatar 기준에 둘지/User에 둘지/Game에 둘지 정하는데 정확히 무슨 차이인가요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 379

SetupGASInputComponent() 함수 2군데에 작성 질문..

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

서버 전용 캐릭터든 클라이이언트 전용 캐릭터든 빙의 함수랑 SetupPlayerInputComponent()은 클라이언트에서는 아예 호출이 안되고 관련된 것들은 다 복제로 처리되고, 서버에서는 이 두 함수가 다 호출되면서 SetupGASInputComponent()가 중복 호출 되는 걸로 알고있는데 서버에서 중복 처리는 별로 상관 없는 건가요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 408

포함 디렉터리가 UE5.1로 자동으로 안잡힐 때는 어떻게 해야 하나요?

해결됨

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

수업자료 받고 generate 했는데 에러나서 봤더니 이곳이 자동으로 처리가 안되있는데 이거 수동으로 바꿔야 하나요?? + 이 플러그인 메세지도 있어서 봤더니 이게 Visual Integration Tool 말하는 거인지는 잘 모르겠으나, 처음엔 프로젝트가 실행도 안됐는데 Visual Integration Tool 을 엔진에 추가하고 나서는 실행은 되네요. 하지만 빨간줄은 안 없어지는것 같아요.

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 2 좋아요 0 조회수 929

인기 태그

인프런 TOP Writers

주간 인기글