UE5 3

[UE5] Is casting expensive?

전투 시스템을 구현하는데 처음에는 ACharacter를 상속받은 주인공 Character 대상으로 공격 판정을 하다가,또 다른 ACharacter를 상속받은 Monster가 공격 판정 대상에 추가되었으며, 최근에는 AActor를 상속받은 Weapon까지 공격 판정에 추가되었다.그러다보니 공통되는 기능을 통합하여 코드 양을 줄임에 따라 상속과 캐스팅을 할 일이 많아졌는데,한가지 핵심 기능을 갖는 함수 하나를 중복 코드 없이 통합할 수 있는 대신, 캐스팅이 1-2회 늘어나는 Trade-Off 상황이 생겼다. 내가 언리얼 엔진 C++을 처음 배울 때만 해도 Cast는 비싼 연산이고, 가능하다면 최대한 줄이거나 최초 1회 실행시 가능한 캐싱하여 쓰도록 배웠는데, 이참에 캐스팅에 대해 Forum, Reddit, ..

UE5 2024.07.16

애니메이션 리타겟팅 루트모션관련 에러

[ TroubleShooting ]애니메이션을 리타겟팅한 뒤, 포함된 루트모션이 제거된 채로 리타겟될 때 해결법1) Target의 Skeleton 에셋에서, Translation Retargeting Options (톱니바퀴 모양) 를 킨 다음 root를 "Animation"으로,  pelvis를 "Animation Relative"으로, 그 외의 bone들을 "Animation"으로 설정 2) Retargeter(RTG)의 Chain Mapping (우측 하단)에서 root의 translation mode를 "Globally Scaled"로 변경, 그리고 pelvis를 "Absolute"로 변경=> 필자는 pelvis가 없어 하지 않아도 정상작동 했다. 그런 다음 Retargeter(RTG)에서 Sou..

UE5 2024.07.12

[UE5] Package Build에 Asset 경로 포함

[ TroubleShooting ]PIE에서 정상작동하던 기능이 패키지 빌드에서 실행되지 않아 로그로 추적하던 중,런타임에 LoadObject()를 통해 약참조로 에셋을 올리던 부분에서 nullptr을 뱉는 것을 확인했다.패키징시 게임내에서 레퍼런스되는 에셋은 자동으로 추가되는데, 누락됐기 때문 해결방법은 [ Project Settings ] - [ Packaging ] - [ Advanced ] - [ Additional Asset Directories to Cook ] 에서 해당 에셋이 포함된 폴더 경로를 추가해준다. 그리고 비슷한 원인으로 Map 또한 패키지 빌드에서 존재하지 않을 경우 실행되지 않을 수 있으므로패키지할 때 마다 확인해서 사용되는 맵들을 수동으로 추가해주자.   Reference :..

UE5 2024.07.03