Game Develop

[UE5] 블루프린트에서 C++로 뺄수 있는 부분은 최대한 뺀다. 본문

UnrealEngine5/이것저것

[UE5] 블루프린트에서 C++로 뺄수 있는 부분은 최대한 뺀다.

MaxLevel 2023. 1. 29. 20:38

예를들어 캐릭터의 전투여부에 따라 Idle모션이 바뀐다고 가정.

애님인스턴스 c++파일에서는 캐릭터클래스를 TryGetPawnOwner로 받아와서 애님인스턴스클래스자체에서도 bool IsCombat을 계속 업데이트하게 해놨다.

 

입문자를 위한 책예제에서는 전부 블루프린트에서 하게 해놨는데, 일단 블루프린트와 C++성능 차이가 꽤 있다는 것을 인지하고 있었기 때문에 틱마다 수행하는 이런 간단한 값업데이트정도는 C++로 하는게 맞다고 판단했다.

 

사실 일단은 규모가 작기 때문에 현재를 기준으로 치면 블루프린트로 처리하든 C++코드로 처리하든 별 의미는 없다.

다만, 어차피 결국 커지기 마련이고 최대한 코드로 처리할 수 있는 부분은 코드로 처리하는게 맞는 것 같다.

 

실제로 이렇게하니까 아래와 같이 에디터자체에서도 빠르다고 알려준다

 

 

 

아래 공식문서를 확인해보니까 더더욱 맞다고 생각이 든다.

 

https://docs.unrealengine.com/5.0/ko/animation-optimization-in-unreal-engine/

 

애니메이션 최적화

애니메이션 블루프린트의 퍼포먼스를 높이는 최적화 기법에 대한 설명입니다.

docs.unrealengine.com

 

 

즉 값 업데이트같은것은 최대한 C++코드로 처리하고 애니메이션 수행에관한 부분만 블루프린트로 처리하는게 좋다.