메타인지의 오류라는 말이 있다. 어려운 말 같지만, 쉽게말하면 그냥 '알고있다는 착각'정도일 것 같다.
어떤 물음표가 대두됐을 때, '아 나 그거 알아'하고 자신있게 말하고 나중에 보니 내가 알고있는건 완전 엉터리 사실이었던 적이 몇번 있었다. 너무나 익숙한 대상이어서 잘 알고있다고 생각했는데, 알고보니 아니었던 적. 오늘도 그랬다.
오늘 블루프린트와 C++의 차이에 대한 질문을 받았다. 아니, 정확히는 저번주에 받았다. 답변을 하는 날이 오늘이었을 뿐이다.
그리고 자신있게(그러나 긴장감에 더듬거리며) 답변했다. 엉터리 사실을. 조금 창피했지만 다행이다 싶었다. 정말 중요한 상황에서 이런 답변을 했다면 그게 더 큰일이었을 것이다.
오늘을 뉘우치고자 다시한번 차이를 짚고 넘어가기로 했다.
1. 블루프린트
- 장점
- 비전공자도 쉽게 접근 가능 : 디자이너, 아티스트도 사용 가능
- 빠른 테스트와 반복 : 실시간 수정이 쉬움
- 시각화된 흐름으로 로직을 쉽게 파악 가능
- 애니메이션, UI, Level Scripting은 블루프린트가 더 편리
- 단점
- 복잡한 로직에 취약 : 노드가 복잡해질 수 있다.
- 성능 저하 : 반복연산, Tick등 자주 실행되면 부담이 큼
- 버전 관리 어려움 : git에서 diff보기 불편
2. C++
- 장점
- 최고의 성능 : 네이티브 코드로써 렌더링, AI, 시스템 코어에 적합
- 재사용성과 확장성 : 모듈화, 상속, 템플릿 등 다양한 패턴 활용 가능
- 전문적인 코드 관리 가능 : 대규모 프로젝트에 유리
- 단점
- 진입 장벽 : 언리얼 특유의 매크로나 메타 시스템 이해 필요
- 컴파일 시간과 실험의 소요시간 : 코드 수정 > 빌드 > 실행 > 결과 확인
- 문법 복잡도 : 메모리 누수나 크래시 발생 가능
3. 추천 사용 방식
- 핵심 로직은 C++로, 게임 플레이나 연출은 블루프린트로
예시) 캐릭터의 공격 기능은 C++로 작성, 공격 이펙트는 블루프린트로 제어 / UI버튼이 눌렸을때, C++ 함수 호출
각 방식의 장점을 살려 조화롭게 사용하는 방식이 제일 좋은 것 같다.
'게임 개발 공부 > 언리얼엔진' 카테고리의 다른 글
| UE5 - 비헤이비어트리 기본 용어 (0) | 2025.04.02 |
|---|---|
| UE5 - GameInstanceSubsystem (0) | 2025.03.25 |
| UE5 - 사운드 재생 (0) | 2025.03.21 |
| UE5 | C++ 개발 - 블루프린트 펑션 라이브러리 (0) | 2025.03.20 |
| UE5 - 채팅시스템(멀티 - 리슨서버) : 채팅ID 등록 2 (0) | 2025.03.18 |