Make Unreal REAL.
article thumbnail
Anim Instance의 델리게이트가 발동되지 않는 문제 (해결 과정)
문제 해결 2023. 7. 18. 14:24

Behavior Tree와 Task, Service를 이용해 AI 몬스터를 구현하고 끝났다 싶었는데, 어느 순간 보니 캐릭터에게 데미지 전달이 안 되고 있었다. 전에 테스트 했었을 때는 됐었는데 갑자기 안 되기 시작해서, 처음에는 BP가 깨져서 생기는 등의 버그인 줄 알았다. 내가 AI에게 10의 데미지를 준 것은 뜨지만, AI가 나를 때린 것은 뜨지 않는다. 캐릭터가 데미지를 입는 부분은 로그 출력밖에 하지 않기 때문에 이 곳의 문제는 아니다. 그럼 몬스터의 공격 부분에서 캐릭터의 TakeDamage() 함수를 호출하지 않았다는 뜻이다. 몬스터가 공격할 때 호출되는 Attack() 함수이다. AttackSection 섹션의 공격 애니메이션을 재생하고, Attack 애님 노티파이를 통해 실제 공격 로직을..

article thumbnail
UWidgetComponent의 위젯 생성 시점
문제 해결 2023. 3. 16. 19:28

이득우 교수님의 391p를 보면 다음과 같은 내용이 있다. 이때 한 가지 고려할 사항은 UI가 초기화되는 시점이다. UI 시스템이 준비되면 NativeConstruct 함수가 호출되는데, UI 생성은 플레이어 컨트롤러의 BeginPlay에서 호출되므로 BeginPlay 전에 호출된 PostInitializeComponents 함수에서 발생한 명령은 UI에 반영되지 않는다. 따라서 현재 구조에서는 NativeConstruct 함수에서 위젯 내용을 업데이트하는 로직을 구현하는 것이 필요하다. 솔직히 이 문단을 몇 번이나 반복해서 읽어도 이해가 되지 않았다. 말씀해주신 내용과 코드가 매치가 안 되었기 때문이다. UWidgetComponent::SetWidgetClass() 함수로 위젯 클래스를 지정해주는 코드..

article thumbnail
Decorator 실행 흐름이 갱신되지 않는 문제
문제 해결 2023. 2. 24. 13:13

강의를 따라하며 Behavior Tree를 만들다가 AI가 나를 공격하지 않는 문제가 생겨 살펴보았다. BTS_IsCloseToPlayer 서비스에서 플레이어와의 거리가 125 이하가 되면 canAttackPlayer가 true로 갱신된다. 아래 트리를 보면 canAttackPlayer의 값이 true임에도 Is Set 흐름으로 이동하지 않고 stuck된 것을 볼 수 있다. AI는 아무 것도 하지 않고 내 앞에 서 있는 상태이다. 내가 아직 Decorator에 대한 이해가 부족한 탓이라고 생각해 유튜브와 공식 문서, 블로그 등을 찾아보았다. 그러면서 Decorator의 Notify Observer, Observer aborts에 대해 알게 되었다. Decorator는 매 번 혹은 매 프레임마다 값에 따른..

article thumbnail
알고리즘 시간 초과 해결
문제 해결 2023. 2. 18. 11:16

프로그래머스 문제를 풀던 도중 아래의 풀이에서 시간 초과가 발생했다. 가능성은 2가지라고 생각했다. O(nlog n)이 소요되는 sort() 함수 O(n²)이 소요되는 while 루프 부분 while 루프에서 O(n²)이 소요되는 이유는 다음과 같다. while 루프의 반복 횟수가 score 벡터의 크기에 종속적이므로 O(n) vector.erase()에서 앞 부분이 삭제되면서 뒷 부분을 당겨오게 되므로 O(n) int solution(int k, int m, vector score) { int answer = 0; sort(score.rbegin(), score.rend()); while (m

article thumbnail
문제의 축소
문제 해결 2023. 2. 3. 07:52

아래의 문제를 풀던 도중 벡터의 크기를 얼마로 잡고 시작점과 끝점의 포함 여부 등을 고민하고 있었다. -100

검색 태그