에디터를 켠 상태로 vs코드를 수정하다가 저장을 안하고 그대로 에디터에서 새 클래스를 생성한다던지 하는 방식으로 에디터에서 컴파일을 실행하면, 저장안한 코드는 전부 사라지는 것 때문에 강의를 여러번 되돌려보고 디버깅 따로 해보느라 여러번 낭패를 봤는데요. 이거는 그냥 코드 수정할 때마다 저장 제때하는 것밖에 방법이 없는 건가요??? 뭔가 방지하는 방법은 없나요
이 함수를 이용하려면 TargetDataHandle을 넣도록 되어 있는데요. 그래서 Trace 어빌리티 테스크를 통해 전달받은 데이터를 사용한 것 같습니다. 그런데 다른 방식으로 타겟을 정하거나 수동으로 ApplyGameplayEffectSpectToTarget()를 사용하려면 FGameplayAbilityTargetDataHandle을 억지로 만들어 채워야 하나요??
강의 따라가다가 제 화면에서는 플레이어에만 HpBar가 나오는데 강의에선 NPC에도 나와서 질문 드렸습니다. + npc에도 같은 위젯코드를 넣어봤더니 에디터를 처음 켤 때 로딩중에 위젯컴포넌트에서 InitWidget()이 실행되면서 위젯의 SetAbilitySystemComponent()를 호출하게 되는데요. 저는 SetAbilitySystemComponent()에 ensure을 놔뒀더니 이 타이밍이 빙의 전이라 어트리뷰트가 등록이 안되있는 상태라서 에러가 발생하는 것같습니다. 강의 처럼 if 로직으로 바꾸면 되긴하는데 로딩중에 위젯컴포넌트의 InitWidget()가 호출되는 이유가 무엇인가요? 월드에 npc가 배치되있긴하지만 BeginPlay()를 호출하지는 않는데 왜 InitWidget()이 호출되는지 잘 모르겠습니다. 제가 part2에서 들었던거는 액터의 BeginPlay() 이후에 호출된다고만 들었는데 다른 이유가 있나요?? 이것 때문인 것 같습니다.
서버 전용 캐릭터든 클라이이언트 전용 캐릭터든 빙의 함수랑 SetupPlayerInputComponent()은 클라이언트에서는 아예 호출이 안되고 관련된 것들은 다 복제로 처리되고, 서버에서는 이 두 함수가 다 호출되면서 SetupGASInputComponent()가 중복 호출 되는 걸로 알고있는데 서버에서 중복 처리는 별로 상관 없는 건가요?
수업자료 받고 generate 했는데 에러나서 봤더니 이곳이 자동으로 처리가 안되있는데 이거 수동으로 바꿔야 하나요?? + 이 플러그인 메세지도 있어서 봤더니 이게 Visual Integration Tool 말하는 거인지는 잘 모르겠으나, 처음엔 프로젝트가 실행도 안됐는데 Visual Integration Tool 을 엔진에 추가하고 나서는 실행은 되네요. 하지만 빨간줄은 안 없어지는것 같아요.