user: 언리얼 엔진의 언리얼 엔진의 버전에 대해 설명해 주세요.

gpt: 많은 게임 개발사들이 그들의 작품을 빠른 시일 안에 뛰어난 기술력으로 완성해내기 위해서 언리얼 엔진을 채용해서 개발했으며 현재에도 많은 개발사들이 사용하고 있다. 특히 언리얼 엔진이 버전업을 이루면서 더욱 발전해 감에 따라서 발전하는 기술력을 세계적으로 인정받아 세계의 많은 콘솔과 개인용 컴퓨터 게임 개발사들이 언리얼 엔진을 채용하고 있으며 그 중에는 유명한 대작 게임들도 많이 존재하며 최근엔 게임 개발뿐만 아니라 비게임 시뮬레이션 & 트레이닝 같은 분야에도 활용되고 있다. 언리얼 엔진은 가장 크게는 세대별로 구분을 하지만 세대 안에서도 0.5 버전대를 더 구분하기도 하며 더 세부적으로는 빌드 버전으로 구분된다. 빌드 버전의 업데이트는 꾸준히 업데이트되면서 같은 세대안에서도 많은 차이와 발전을 보여주지만 라이선스 받은 업체에서는 업데이트를 무료로 계속 받을 수 있으며 0.5버전대의 변화는 약간의 추가 비용만으로 업그레이드 받을 수 있다. 하지만 세대별로 구분되는 수준에서는 사실상 새로운 엔진으로 봐야하며 다시 라이선스 해야하지만 이미 이전 버전을 라이선스 했던 업체라면 계약조건에 따라 어느 정도 값을 내리는 것도 가능하다.

## 1세대 언리얼 엔진
첫 번째 세대의 언리얼 엔진으로 에픽게임즈가 1994년 당시 회사의 사활을 건 첫 FPS 프로젝트 언리얼을 만들기 위해 만들어진 엔진이다. 많은 우여곡절끝에 완성 됐으며 이 세대의 엔진은 언리얼을 거쳐 언리얼 토너먼트에 이르기까지 발전된다. 1세대 언리얼 엔진은 **언리얼 엔진 1**라고도 부르며 줄여서 UE1라고도 한다.

언리얼 엔진 1은 32비트 윈도우, 32비트 리눅스, 32비트 매킨토시 MacOS를 지원하며 1998년 당시의 다양한 3D 그래픽 API들을 모두 지원했다. 3DFX의 Glide, S3 그래픽스의 Metal, PowerVR의 SGL을 지원했으며 혁신적인 소프트웨어 렌더러까지 탑재하고 있었는데 이 소프트웨어 렌더러는 3D 가속 기능이 없는 그래픽 카드에서도 텍스처 필터링을 구현하고 색채가 들어간 광원과 코로나 효과, 체적 안개, 입체 광원 등을 구현하는게 가능했다. 초기에는 Direct3D와 OpenGL을 지원하지 않았는데 나중에 패치가 나오면서 빌드 224부터 OpenGL 렌더러와 Direct3D 렌더러도 추가되었다. 렌더링 기술로는 32비트의 512x512 사이트 텍스처 지원, 순차적 애니메이션 텍스처, 동적 범위 스케일의 디테일 텍스처, 엠보스 범프 매핑, 멀티 텍스처링 등을 지원했으며 다중 채널을 가진 정점 애니메이션을 지원하고 부드럽게 애니메이트되는 완전한 32비트 색상의 동적 광원, 입체 광원, 버텍스 라이팅과 그림자 효과로는 심플한 구형 그림자와 Z 버퍼를 이용한 디컬 그림자 및 스텐실 버퍼를 이용한 실시간 그림자도 지원하며 특수 효과로는 체적 안개, 라이트 블룸, 입자 효과, 다중 스카이 박스를 구현할 수 있으며 최신 FPS 게임인 프레이에 나오는 포탈도 이미 언리얼 엔진 1에서 구현이 가능했으며 포탈을 활용한 멀티플레이 맵이 언리얼 1에 기본적으로 포함도 되어있었다.

언리얼 엔진 1의 빌드 300부터 빌드 436까지는 언리얼 토너먼트의 개발에 사용된 엔진이며 기존의 버전과 비교하여 몇가지 추가 기능과 향상이 있다. 핵심적인 렌더링 기술에서는 기존의 장점은 더욱 향상되고 단점은 수정되었으며, 씬 그래프가 재작성되어 렌더링 퍼포먼스가 크게 향상되었고 렌더링 API 지원부분에서는 이전보다 더욱 안정적이며, 하드웨어 T&L을 지원하는 OpenGL 렌더러와 Direct3D 7 렌더러, 텍스처 기술에 환경 매핑 지원이 추가되었고, S3TC 텍스처 압축 기술 지원과 1024x1024 사이즈 텍스처 지원이 가능하게 되었다. 애니메이션에선 정점 애니메이션은 전보다 더욱 세밀한 애니메이션이 가능하게 향상되었다. 빌드 432에서는 골격 구조 애니메이션 Animation)이 새롭게 추가로 지원되었으며 비약적으로 향상된 언리얼 에디터 2.0이 새롭게 추가되었다. 그리고 콘솔 게임기인 소니의 플레이스테이션 2와 세가의 드림캐스트의 지원도 추가되었다. 빌드 300부터 최종버전인 빌드 436까지는 그 사이에서도 많은 차이가 있다.

## 2세대 언리얼 엔진
2세대 언리얼 엔진은 1세대 언리얼 엔진에 비해 엔진의 전체적인 구조와 툴셋, 렌더링등 엔진의 모든 부분이 매우 큰 폭으로 향상되었다. 이 엔진은 2000년 당시의 에픽의 신작 프로젝트 언리얼 워페어와 함께 개발되었으며, 나중에 언리얼 워페어는 개발이 취소되었고, 2세대 언리얼 엔진으로 에픽에서 몇가지의 작품이 나왔고 3세대 언리얼 엔진이 나오기전까지 계속 버전업을 이루어 갔다. 이 엔진은 빌드 버전이 500부터 시작되었으며 2000년 가을에 빌드 633으로 라이선스 가능하게 릴리즈 되었는데 초기버전에는 매우 문제가 많았으나 빠른 업데이트로 빌드 829가 나오고부터는 안정적이게 되었다. 2세대 언리얼 엔진은 **언리얼 엔진 2**라고도 부르며 줄여서 UE2라고도 부른다.

빌드 500~2227 사이의 버전은 콘솔 게임기인 소니의 플레이스테이션 2와 마이크로소프트의 엑스박스도 지원하며 빌드 777에서는 플레이스테이션 2버전은 시크리트 레벨이라는 외부 회사와의 협력으로 지원되었으며 라이선스 회사에게는 시크리트 레벨의 지원으로 플레이스테이션 2버전의 개발지원과 닌텐도의 게임큐브 버전도 지원되었다. 게임큐브 버전은 직접적으로 제공 되지는 않았으며 라이선스 업체가 게임큐브용 게임을 만들때만 시크리트 레벨의 지원을 받는 것만이 가능했다. 빌드 829에서는 메스엔진사의 카르마 물리 엔진이 통합되었으며 래그돌 물리효과와 오브젝트의 물리를 지원한다. 립싱크 엔진으로는 립싱크사의 LIPSinc 프로그램이 통합되었으며 외부 페이셜 애니메이션 시스템이 통합되었다. 언리얼 워페어 코드 기반으로 빌드 927까지 업데이트되었으며 플레이스테이션 2버전은 빌드 927을 마지막으로 더 이상의 업데이트가 없다. 에픽게임즈의 언리얼 워페어 프로젝트가 취소된 이후의 버전업은 순수한 언리얼 엔진 2.0 코드 기반으로 업데이트되었으며 언리얼 워페어 코드 베이스때보다 많은 향상을 가지고 있으며 빌드 2110부터 라이선스 업체들에게 제공되었다. 빌드 2110에서는 렌더링 속도와 툴셋이 크게 향상되었으며 플레이스테이션 2는 없으며 Xbox버전과 PC버전만 지원된다. 라이선스 업체에게는 언리얼 토너먼트 2003의 코드도 예제로 제공되었으며 엑스박스용 언리얼 챔피언십의 코드도 예제로 제공이 되었다. 언리얼 2는 전혀 제공이 되지 않았는데 언리얼 2는 에픽과는 상관없이 레전드 엔터테인먼트에 의해 완전히 외주 개발된 게임이기 때문에 에픽에게는 언리얼 2 소스의 권한이 없기 때문이다. 언리얼 토너먼트 2003의 마지막 패치로 제공된 버전인 빌드 2225버전 이후로 빌드 2226이 업데이트되고 최종적으로는 빌드 2227이 공개되었는데 이 마지막 버전은 모든 버그의 수정과 엔진의 안정성 및 렌더링 속도와 툴셋의 안정성 및 새로운 추가 기능들을 포함한다.

언리얼 엔진 2.0의 렌더링 기술들은 기존의 언리얼 엔진의 모든 장점들을 계승하며 단점은 개선하고 새로운 기능들이 추가되었는데 모든 것이 Direct3D 8 세대의 하드웨어에 맞게 개선되었다. 렌더링 API는 Direct3D 8을 기본으로 하고 있으나 OpenGL도 지원한다. 광원 효과에서는 발전된 버텍스 라이팅과 실시간으로 생성되는 래디오시티 라이트맵을 근간으로 고품질의 광원 효과를 구현하며 포인트 라이트와 다이렉셔널 라이팅도 지원한다. 그림자 효과로는 셰이더를 이용한 프로젝터 그림자가 추가로 지원되며 씬 그래프 측면에서는 하드웨어 브러쉬를 이용한 스테틱 매쉬라는 고유로 고안된 알고리즘으로 애니메이션이 없는 메쉬들을 동일계열의 다각형들을 최적화하여 연산을 최소화하는 기법으로서 매우 뛰어난 기능이며 고폴리곤을 사용하면서도 메모리와 연산량을 크게 절감할 수 있다. BSP와 포털 렌더링 알고리즘도 향상되어 더욱 빠르고 안정적인 렌더링을 구현하며 NURBS 곡선을 지원한다. 하드웨어 셰이더로는 버텍스 셰이더를 지원하며 텍스처 기술로는 새로운 DXTC 텍스처 압축 기술들과 환경맵을 이용한 범프 매핑과 큐브 매핑을 지원하도록 개선되었으며 2048x2048 사이즈의 텍스처를 지원한다. 애니메이션은 기존보다 향상된 정점 애니메이션과 정점당 4개의 뼈대를 갖는 다중 채널의 골격 애니메이션과 부드러운 버덱스 스키닝 지오메트리를 지원한다. 지형 시스템으로는 이전에는 BSP로 지형을 구현했으나, 2세대 언리얼 엔진에서는 하이트 맵 기반으로 생성되는 하이트메쉬 기반의 지형을 사용하며 이는 언리얼 에디터상에서 강력한 지형툴로 생성 및 다채로운 변화와 적용이 가능하다. 그 외에 입자 효과와 수면 효과, 안개 효과와 같은 부분에서도 큰 진보를 이루었다.

빌드 2500~3369 사이의, 이 버전대의 엔진은 언리얼 토너먼트 2004를 기반으로 하고 있으며 언리얼 엔진 2.5라고도 불린다.

이 버전대부터는 드디어 64비트를 정식으로 지원하는게 가장 큰 차이점이며 64비트 윈도우와 64비트 리눅스를 정식 지원하고 64비트 매킨토시 MacOS를 지원한다. 이 버전대는 콘솔 버전은 존재하지 않으며 PC 전용으로만 컴파일 된다. 하지만 이 버전대의 엔진을 사용해서 콘솔로 이식하거나 차세대 콘솔로 사용하는 게임들도 있긴 하다. 64비트를 지원하는 것 외에는 다른 부분에서는 이전 버전과 비교해서 큰 차이점은 존재하지 않는다. 다만 렌더링 부분이 더욱 최적화되고 속도가 향상되었으며 텍스처 사이즈는 4096x4096까지 지원이 되고 Direct3D 9를 지원하며 씬 그래프의 재작성으로 연산 속도와 메모리 관리가 향상되었다. 그리고 Pixomatic 소프트웨어 렌더러가 무상으로 제공된다. 파일 관리, 로딩 시스템등 리소스 관리가 크게 향상되었으며 전체적으로 엔진의 내부적으로 큰 최적화가 이루어졌다. 이후에 빌드 3323에서는 강력한 파티클 시스템 에디터가 언리얼 에디터 내부의 에디터로 추가되었다.

이 버전대의 릴리즈와 더불어 언리얼 개발자 네트워크의 지원에서 2.5 버전의 여러 가지 새로운 기술 지원이 가능하게 되었는데 언리얼 엔진 2.5에 기본적으로 존재하지 않는 다양한 렌더링 기술들을 지원받아서 쉽게 적용 가능하도록 되었으며 렌더링 기술뿐만 아니라 새로운 툴과 여러 가지 예제를 제공하여 쉽게 사용 가능하도록 한 것이 특징이다. 노멀 매핑, 퍼픽셀 라이팅과 같은 차세대 하드웨어의 기술들을 사용 가능하며 다양한 스타일의 렌더링이 구현하도록 커스터마이징이 가능하다. 후에 SoftImage사의 XSI 툴과 IDV사의 SpeedTree가 무상으로 제공되도록 언리얼 패밀리 파트너십을 계약 체결했다. 그리고 OC3사의 Impersonator 페이셜 애니메이션 툴이 무상으로 제공된다.

그리고 언리얼 엔진 2.5는 기본적으로 콘솔은 지원하지 않고 PC만 지원되는데 언리얼 엔진 2.5의 콘솔버전으로는 언리얼 엔진 2X라는 버전이 따로 제공된다. 언리얼 엔진 2X는 언리얼 엔진 2.5의 버전이 Xbox용으로 이식된 버전으로서 Xbox용 게임으로 개발된 에픽의 언리얼 챔피언십 2에 바탕을 두고 있다. Xbox에 맞는 메모리 리소스 관리 최적화와 로딩 시스템을 가지고 있으며 몇가지 그래픽 효과의 추가가 있다. 픽셀 셰이더를 사용해서 이미지 블러링과 모션 블러, 초점 심도, 동적 그림자, 포스트 프로세싱 효과등을 사용하며 Xbox의 스플릿 스크린을 사용하면서도 고프레임을 낼 수 있도록 성능이 향상되어있다. 기본적으로 구 Xbox에 맞춰진 엔진이지만 스트림라인 스튜디오의 후프월드라는 게임은 이 엔진을 Xbox 360으로 이식해서 사용한다. 이 언리얼 엔진 2X에 추가된 그래픽 기술들은 PC버전에서도 활용이 가능하다.

그리고 언리얼 엔진 2는 외부 회사들의 협력에 의한 툴셋 또는 미들웨어 솔루션등이 별도의 추가 라이선스 비용 없이 제공된게 있는데 그것들은 다음과 같다.

### 언리얼 엔진 2 런타임 에디션
언리얼 엔진 2 런타임 에디션은 건설 시뮬레이션이나, 많은 비 게임 프로젝트에 사용될 목적으로 만들어졌으며 매우 저렴한 가격으로 라이선스가 가능하다.

## 3세대 언리얼 엔진
3세대 언리얼 엔진은 2006년 이후의 PC와 엑스박스 360, 플레이스테이션 3을 기준으로 만들어진 엔진이다. 하지만 차세대 콘솔인 엑스박스 360와 플레이스테이션 3에서도 3세대 언리얼 엔진이 추구하는 렌더링 기술력을 모두 표현하기에는 역부족이며 사실상 64비트와 다중 코어, 그리고 Direct3D 10 세대의 PC 하드웨어에서 진정한 성능을 볼 수 있다. 현재 한참 개발중인 엔진이며 이미 라이선스 가능한 릴리즈는 2004년에 이루어졌다. 차세대 콘솔 닌텐도의 Wii 버전으로는 제공되지 않는데 Wii의 성능상으로 언리얼 엔진 2가 적합하며 몇몇 개발사들은 언리얼 엔진 2를 Wii에 사용하고 있다. 어떤 개발사에서는 언리얼 엔진 3를 Wii로 다운이식하여 게임을 개발하기도 한다. 3세대 언리얼 엔진은 **언리얼 엔진 3**라고도 부르며 줄여서 UE3라고도 부른다.

언리얼 엔진 3의 빌드 버전은 3500부터 시작되며 아직도 한창 버전업중인 엔진으로 버전 몇까지가 3의 마지막인지 알 수는 없다. 에픽에서는 언리얼 엔진 3의 개발부터 게임과 함께 엔진 프로젝트를 진행하지 않고 완전한 엔진팀을 따로 두고 엔진팀도 크게 확장되어 게임팀과 완전히 분리되어서 작업하게 되는데, 라이선스 업체에게 제공되는 것도 순수한 언리얼 엔진 3으로서 제공이 된다. 에픽은 언리얼 엔진 3을 사용해서 개발하던 기어스 오브 워와 언리얼 토너먼트 3의 두가지 게임 중, 기어스 오브 워는 엑스박스 360으로 2006년 11월에 출시되었으며, 언리얼 토너먼트 3은 PC로 출시 예정인데 언리얼 토너먼트 3의 완성과 함께 언리얼 엔진 3.0를 완성할 예정이라고 했다. 언리얼 엔진 3는 이전보다 엄청나게 많은 향상들이 이루어졌는데 언리얼 엔진의 가장 큰 장점이었던 구조적인 면의 확장성과 융통성은 이전 버전과 비교해서도 더욱 명확하게 향상되었으며 툴셋의 진보 또한 눈에 띌만큼 뛰어난 진일보하였다. 그리고 렌더링에서도 완전한 차세대급 렌더링으로 엄청난 도약을 했으며, 그 외에도 완벽한 64비트 연산, 새로운 개념의 멀티 쓰레딩, 그리고 여러 유용한 프로그램들과의 통합 파트너십 체결로 다양한 프로그램들이 통합되어 제공되며 모든 것들을 언리얼 에디터 내에서 곧바로 사용 가능하며 언리얼 스크립트로 쉽게 조정할 수 있도록 연동되어있다. 파트너십 패밀리와 새로운 기술 및 새로운 툴들도 앞으로 엔진을 완성하기까지 계속해서 추가할 예정이다. 예로 기어스 오브 워의 렌더링 기술에는 현재까지 만들어진 언리얼 엔진 3의 렌더링 기술들이 대부분 포함되어 있지만 앞으로 출시될 언리얼 토너먼트 3에는 또 다른 신기술과 개선된 기능들 및 새로운 렌더링 기술이 들어간다. 지형 시스템은 복셀 기술이 들어가며 풀 디스플레이스먼트 매핑 등이 들어가게 된다.

언리얼 엔진 3는 2012년까지 꾸준하게 버전업이 될 예정이며 새롭게 출시되는 PC 하드웨어들을 위해 새로운 하드웨어의 기능의 활용과 함께 새로운 API들을 지원해나갈 계획이라고 한다. 에픽은 기어스 오브 워와 아직 출시되지 않은 언리얼 토너먼트 3외에도 언리얼 엔진 3로 차기 프로젝트를 2개정도 더 개발할 예정이다. 그 프로젝트들은 기어스 오브 워 2와 언리얼 3이 될 가능성이 높으며 그 게임들은 더 높은 버전대의 엔진으로 이전의 버전보다 훨씬 더 발전된 기술들이 사용될 것이다.

### Unreal Engine 3 IPP
언리얼 엔진 3는 Integrated Partners Program이라는 외부의 다양한 기술, 툴, 미들웨어와의 계역 체결로 언리얼 엔진 3에 그들의 기술들을 통합하는 파트너십 프로그램이다. Ageia의 물리 엔진인 PhysX를 포함하여 여러 가지 유용한 외부 기술들이 도입되었다. 그 목록들은 아래와 같다.

크라이시스에서처럼 풀이나 나뭇잎등에 부드럽고 사실적인 물리를 적용 가능한 버전도 준비 중이다

### 비 게임 프로젝트
언리얼 엔진 3 런타임 에디션 커스텀 라이선스로 많은 비 게임에 사용이 되고 있으며 건축 설계, 실내 및 실외 디자인, 모의 훈련, 운전 시뮬레이션, 가상 쇼핑몰, 영화 스토리보드, 콘티, 프리 비주얼, 그 외의 여러 분야에 쓰이고 있는데 이런 작업들을 최신의 다양하고 현실적인 그래픽 기술과 사실적인 물리 효과가 적용된 완전한 실시간 기술력과 툴셋으로 작업한다는 건 기존의 캐드나 VRML 같은 프로그램보다 훨씬 효율적이고 엄청난 이득을 주기 때문에 앞으로도 언리얼 엔진을 이런 분야에 사용하는 사례가 많아질 것이다.

## 4세대 언리얼 엔진
4세대 언리얼 엔진은 2003년부터 개발에 돌입, 차세대 게임 콘솔을 위한 엔진으로 설계되어 왔으며, 2012년 일반에 발표된 게임 엔진이다. 2014년 3월에 언리얼 엔진 4.0 버전을 공식적으로 공개하며 새로운 라이센싱 프로그램을 함께 발표했는데, 이는 한달 19달러의 금액과 제작한 게임 총 수익의 5%을 지불하면 엔진의 개발 도구와 예제 뿐 아니라 전체 소스 코드까지 제공받을 수 있는 파격적인 내용으로 주목을 받았다. 이는 유니티 3D 엔진의 장점이었던 저렴한 가격에 대항하기 위한 전략으로 평가된다.

이 파격적인 가격정책은, 2015년 GDC때 전면 무료화로 더욱 파격적으로 변경발표, 발표 주에만 수십배에 달하는 개발자 숫자 상승의 결과를 가져왔다. 현재 언리얼엔진 4는 모두의 언리얼이라는 모토 하에 분기당 3000$의 수익이 발생하기전까지는 전면무료로 전체 소스코드까지 받을 수 있게 되었다. 그 이상의 수익이 발생했다면 수익의 5%만을 로열티로 에픽게임즈에 지불하면 된다.

4세대 언리얼 엔진의 공식명은 언리얼 엔진 4로, 주요한 신기능에는 언리얼 스크립트와 키스멧을 대체하는 Blueprint, 물리적인 특성에 기반하는 새로운 머터리얼 시스템, UI와 제작 과정이 간편해진 새로운 언리얼 에디터 등이 있다.