작성
·
21
0
블루프린트를 실무에서도 실제로 많이 사용하는지 궁금합니다.
프로젝트 규모가 크고 복잡할 경우 그냥 코드로 전부 제어하는 게 나을 것 같다는 생각도 들어서요.
답변 1
0
블루프린트는 프로젝트의 규모를 막론하고 적극적으로 활용될 것으로 생각합니다.
말씀 주신 것처럼 개발하고자 하는 게임의 규모가 클수록 블루프린트 활용 비율은 낮아지고, 규모가 작아질수록 활용도가 높아지는 경향이 강할 것으로 생각하는데요, (아예 블루프린트로만 전체 로직을 구성해서 런칭되는 게임도 있다고 들었습니다.)
아무리 프로젝트의 규모가 크고 복잡해도 순수 C++ 로만 개발되지 않을 것이라고 생각하는 이유는, 블루프린트가 C++ 코드에 비해 컴파일 속도와 성능, 복잡한 로직 제어 측면에서 모두 뒤떨어짐에도 명확한 장점과 활용 목적이 존재하기 때문입니다.
블루프린트는 꼭 프로그래머가 아니더라도 UI 디자이너나 기획자 모두 얼마든지 접근이 가능하고, 내용 검토와 수정도 손쉽게 진행할 수 있습니다. 시각적으로 해당 블루프린트가 다루는 컨텐츠의 내용을 직관적으로 알아볼 수 있다는 장점, 그리고 소스코드는 수정 한 번에 무조건 빌드 한 번이 다시 돌아가야 하는 반면에 블루프린트의 수정 적용은 저장 버튼 클릭 한 번이면 된다는 등의 장점 덕분에, 기획자나 UI 디자이너는 본인의 설계 의도에 맞게 손쉬운 컨텐츠 수정을 할 수 있고, 프로그래머 입장에서도 짜잘한 수정 요청에 시간을 뺏기지 않아도 됩니다. ("몬스터가 도검류 무기에 피격 당했을 때 이펙트를 이거 말고 이걸로 바꿔주세요" 같은)
제가 현재 참여하고 있는 게임 개발 프로젝트를 예로 말씀 드려보자면, UI 와 사운드, 컷씬 재생과 같이 게임의 부수적인 '장식 요소' 들은 무조건 블루프린트에서만 제어하도록 하고 있습니다. 앞서 설명 드렸듯 C++ 코드는 프로그래머 밖에 손댈 수 없고, 이러한 장식 요소들까지 전부 C++ 로 제어하면 폴리싱 과정도 번거로워지고, 덩달아 퀄리티 상승의 한계도 명확해지기 때문입니다. C++ 코드에서는 논리적인 결정과 이로 말미암은 이벤트 발생까지만 처리하고, (물론 일부 간단한 논리 결정 과정도 블루프린트에 포함되겠지만) 블루프린트에서는 이렇게 C++ 에서 정의한 이벤트를 접수해서 그 이벤트가 발생했을 때 어떤 표현과 연출을 적용할지 결정하는 것으로 역할 구분을 명확히 한다면, 한 번 구조가 구축된 이후에는 연출과 관련해서 프로그래머는 더이상 시간을 할애하지 않아도 되고, 디자이너도 번거롭게 요청할 필요 없이 직접 의도에 맞게 블루프린트만 수정하면 됩니다.
정리하자면
1. C++ 은 도구를 만들고, 블루프린트는 그 도구를 활용한다
2. C++ 에서는 주로 복잡한 시스템 로직을, 블루프린트에서는 이로 말미암은 간단한 컨텐츠 로직을 주관한다 (물론 간단한 게임이면 본 강의에서처럼 전부 블루프린트에서 구현해도 무방함)
라고 할 수 있겠으며, 그렇기 때문에 언리얼 엔진으로 개발하는 프로젝트라면 블루프린트를 활용하지 않을 이유가 없다고 생각합니다.