반응형
이렇게 하면 Monster는 잘 생성된다.
FActorSpawnParameters params;
ASMonster* Monster = GetWorld()->SpawnActor<ASMonster>(m.Key , location, GetActorRotation(), params);
근데 스크린 샷 처럼 공중에서 내려오질 않는다. 중력도 받지 않는다.
Tick에 들어가지 않는건가? MovementComponent가 없는건가? 모든 것을 체크해봤지만 이미 존재했다.
답은 Controller가 없다는 것이다.
FActorSpawnParameters params;
ASMonster* Monster = GetWorld()->SpawnActor<ASMonster>(m.Key , location, GetActorRotation(), params);
Monster->SpawnDefaultController();
이렇게 DefaultController를 만들어주면 정상적으로 움직인다...
버그를 해결하는데 오랜시간이 걸렸지만, 굉장히 단순한 문제였고,,,
덕분에 까먹지 못할 것 같다...!
디버깅과정
Tick이 잘 호출되는 지, Forward 크기가 1로 잘 출력되는 지는 다 확인했다.
그래서 AddMovementInput이 실행되지 않는 것이라고 추측했고, 디버깅을 해봤다.
축축 따라가다보면 이상한 점이있다.
여가서 IsMoveInputIgnored()라고 있는데 이 함수에서 Controller를 체크해주는 것이다.
그래서 초반에는 여기도 잘 실행되고 있구나 하고 넘어갔다. (if문도 다 통과함)
근데 이게 웬걸 Controller는 존재하지않았고, IsMoveInputIgnored 앞에 not 연산자 때문에 If문에 들어가는 것이었다...
쩝... 다들 이 블로그를 보고 빠르게 해결했으면 좋겠다!
반응형
'UE5(언리얼)' 카테고리의 다른 글
[언리얼5/UE5] 힘을 가하는 각종 함수(impulse, force, radial) (1) | 2024.11.16 |
---|---|
[언리얼5/UE5] Setup Spawn Ability (능력 스폰 설정) (0) | 2024.11.16 |
[언리얼/UE5] 디버거 헬퍼 (0) | 2024.11.12 |
[언리얼5/UE5] Hard/Soft Reference (3) | 2024.11.11 |
[언리얼5/UE5] 채팅창 만들기 (EditableText) (7) | 2024.11.07 |