에픽게임스 코리아가 지난 9일 언리얼 엔진 4의 시연과 함께 개발 툴의 특징을 설명하는 자리를 마련했다. 지금까지는 새로운 언리얼 엔진의 성능에 초점을 맞춰 정보가 공개됐다면, 이번 시연에서는 언리얼 엔진 4의 대표적인 기능이 중점적으로 소개됐다.
이번에 시연한 기능은 언리얼 엔진 4의 블루프린트, 콘텐츠 브라우저, 애니메이션 시스템 ‘페르소나’를 비롯해 MMORPG에서 필수 기능으로 자리 잡은 ‘랜드스케이프’ 등의 툴이다.
■ 빠르고 강력하게, 그리고 간편하게 ‘블루프린트’
언리얼 엔진 4에서 새롭게 찾아볼 수 있는 툴 중에 하나가 ‘블루프린트’다. 이 기능은 말 그대로 게임 전체의 ‘청사진’을 보여주는 일종의 설계도 역할한다.
블루프린트의 기능 중 중요한 것은 프로그래밍에 대한 지식이 없어도 유저 인터페이스(UI), 인공지능(AI), 컨트롤 처리 등 게임의 모든 요소를 디자이너가 직접 제작할 수 있다는 것이다. 다시 말해 블루프린트는 일종의 비주얼 스크립팅 둘이지만, 프로그래밍을 몰라도 자신이 스크립트를 짠 로직의 흐름을 보여주고, 실시간으로 이를 확인할 수 있게 해준다.
※ 이미지를 클릭하면 크게 보입니다.
블루프린트는 게임의 청사진인 동시에 하나의 ‘흐름도’라고 보면 된다.
한 걸음 더 나아가 실제 프로그래밍처럼 노드와 노드 사이에 브레이킹 포인트를 설정하고, 게임을 실행하면 해당 프로세스가 어떻게 진행되는지를 볼 수 있어 실시간으로 버그를 찾아 해결할 수도 있다.
이런 기본 스크립트를 통해서 만들어진 실제 사례가 에픽게임스에서 데모로 선보인 <호버크래프트>라는 게임이다. 이는 에픽게임스의 디자이너 한 명이 혼자서 남는 시간을 이용해 블루프린트로 개발한 결과물이며, 간단하지만 게임의 모든 부분을 담고 있다.
블루프린트를 이용해 만든 <호버크래프트>는 디자이너 혼자 작업했다.
이런 스크립트 외에도 배경 오브젝트를 만들고 맵에 배치하는 등의 콘텐츠 제작에서도 블루프린트는 유용하게 사용된다. 시연에서 선보인 것은 기둥을 원으로 배치하는 과정이다. 보통 이런 작업의 경우 기존에는 기둥을 하나씩 3D MAX에서 만들고 원 모양으로 일일이 배치했다.
예를 들어 12개의 기둥이 필요하면 12개의 오브젝트를 모두 만들고 배치해야 한다는 것이다. 하지만 언리얼 엔진 4의 블루프린트 툴을 사용하면 하나의 기둥을 만든 후 변수 값을 조절해 기둥의 개수와 크기 등을 한번에 조절할 수 있다.
이는 유저 콘스트럭선 스크립트를 지원하기 때문인데, 맵에 블루프린트를 배치하거나 변수 값을 변경하면 이에 따라서 오브젝트가 자동으로 만들어진다. 따라서 블루프린트를 통해 콘텐츠를 제작할 경우 맵 제작시간 등의 생산성 측면에서 기존에 비해 효율성이 높아진다.
■ 블루프린트 기반의 애니메이션 툴 ‘페르소나’
언리얼 엔진 4의 애니메이션 툴인 페르소나는 블루프린트를 기반으로 만들어졌다. 앞서 설명한 블루프린트의 장점을 통해서 캐릭터 애니메이션 및 게임과의 상호작용 관련 부분을 정의하고 미리보기로 실시간 확인이 가능하다.
즉 캐릭터가 걷고, 뛰고, 앉고, 엄폐하는 등의 액션을 하나의 흐름도로 지정해 블루프린트로 만든 후 툴에서 변수 값을 변경하는 것만으로도 다양한 결과를 만들어 낼 수 있다.
언리얼 엔진 4의 주요 특징 중 하나는 빛을 처리할 때 물리법칙 기반의 라이팅과 쉐이딩을 지원한다는 것이다. 이는 단순한 조명 처리가 아닌, 실제 현실에서 사용되는 조명의 데이터를 캡처한 IES 프로필을 사용할 수 있기 때문이다. IES 프로필은 기존 CG 툴에서도 일반적으로 지원되는 기능이지만, 게임에서 사용할 수 있게 된 것은 이번이 처음이다.
이는 CG에서나 볼 수 있는 효과를 실제 게임에 적용해 보다 현실적인 게임을 만들 수 있음을 뜻한다. 예제해서 볼 수 있듯이 데이터를 입력받아 세팅해주면 실제로 그 조명이 보여주는 빛의 발광과 감쇄 등을 통해 현실적인 조명을 구현해준다.
이외에도 빛을 만들어내고 영향을 받는 파티클도 지원하면서 단순히 빛을 내는 것이 아닌 밝기와 색을 조절할 수 있다. 더불어 GPU 시뮬레이션을 이용한 파티클 충돌처리를 통해 몇 만 개의 파티클을 실시간으로 계산할 수 있는 기능도 추가됐다.
대표적으로 용접하는 효과에 대해서 각각의 불꽃이 하나의 파티클로 처리되어 보다 사실적인 불꽃의 효과를 볼 수 있고, 중간에 오브젝트와 충돌하면 물리법칙에 따라서 실제로 튀는 효과도 구현이 가능하다.
GPU 시뮬레이선을 이용한 파티클 충돌을 실시간으로 계산할 수 있다.
특히 물리법칙에 기반한 물체도 보다 사실적으로 표현할 수 있게 된다. 현실에 있는 모든 물체는 각각 고유의 반사 값을 가진다. 이 반사 값의 차이에 따라서 재질과 색이 표현되는 것인데, 언리얼 엔진 4에서도 이를 이용한다.
오브젝트를 구현하고 고유한 재질의 반사 값을 적용하면 쉽게 특정 재질의 느낌을 표현하는 것이 가능하다. 예를 들어 금을 표현하고 싶을 때 금의 반사 값을 입력하면 그 느낌을 그대로 보여주는 것이다. 이때 반사 값을 조절하기만 하면 금에서 크롬 재질로, 혹은 알루미늄 등으로 다양한 질감을 빠르고 쉽게 변경할 수 있다.
물리 기반의 머티리얼(material)로 다양한 질감을 사실적으로, 간단하게 구현할 수 있다.
크롬 재질의 둥근 물질을 보면 각각의 반사된 모습도 고유 빛과 질감을 유지한다.
반사 값을 조절하면 다른 재질 표현으로 쉽게 바꿀 수도 있다.
복잡한 로봇 같은 오브젝트도 클릭 몇 번만 하면 아래와 같은 크롬 재질의 형태로 보인다.
■ MMORPG 개발에 대응하는 랜드스케이프
언리얼 엔진에서 대규모 맵을 구현하는 기능인 ‘랜드스케이프’도 언리얼 엔진 4에서 성능이 더욱 향상된다. 먼저 실제 시연 영상을 보자.