[GpGiki 대문으로]

언리얼 엔진 3


언리얼 엔진 3 (Unreal Engine 3)

개발사 : 에픽 게임스 (Epic Games)

가격

언리얼 엔진의 버전

언리얼 엔진 버전은 크게는 세대로 구분되며 세부 업데이트로는 build 숫자로 구분된다.

세대별 구분은

이런식으로 구분되며,

build버전의 구분은

이런식으로 구분된다.

언리얼 엔진의 버전업에 관한 것은 엔진 사용자들이 에픽에게 필요한 것을 계속 요구하고 엔진의 사용자들이 많이 요구하는 것들일수록 그 요구사항에 관한 업데이트가 빨리 이루어지며 최신 하드웨어와 최신 소프트웨어 동향에 맞게 변화하는 점들에 대해서도 즉각 업데이트를 실시한다. 예를 들면 MMOG에 적용하는 사례가 많아지면서 네트웍 모듈을 쉽게 수정 가능하도록 네트웍과 연계된 부분에 대한 엔진의 코드 구조를 바꾸는 업데이트가 행해지거나 역동적인 물리 엔진 효과들을 기반으로 한 게임플레이를 추구하는 게임들이 많아지면서 물리 엔진의 강화와 더불어 UnrealEd 내부에서 물리 엔진 설정과 실험을 직접 플레이하면서 가능하도록 마치 하프라이프 2의 Garry Mod와 비슷한 에디팅이 가능하도록 업데이트 되었다. 이처럼 필요한 것이 있다면 직접 구현하지 말며 항상 에픽에게 요구를 해서 필요한 기능이 업데이트 되도록 해서 엔진을 사용하는 다른 개발사들에게도 이득이 되도록 해야한다.

언리얼 엔진의 역사

언리얼 엔진 2는 매우 많은 게임들에 사용되었으며 PC용 FPS에서는 거의 언리얼 엔진이 관례가 되었다. 이 후에 64비트 프로세싱의 지원과 여러가지 향상이 있는 언리얼 엔진 2.5로 업그레이드 됐고 그 다음 버전으로 현재의 언리얼 엔진 3가 나왔다.

언리얼 엔진 3는 기존의 장점인 깔끔한 코드 구조가 더욱 커스터마이징하기에 좋고 확장성이 더욱 증대되어 이전 버전보다도 더욱 융통성이 좋게 개선되었으며 개발 툴셋 역시 전보다 많은 진보를 이루어서 차세대 게임 개발에 편리한 많은 잇점을 제공한다. 뿐만 아니라 이제는 더 이상 FPS 장르에만 특화된 게임 엔진이 아니며 모든 장르를 쉽게 수용할 수 있는 구조로 크게 개선이 되었으며 엔진 코드와 게임 코드의 뚜렷한 경계를 지었음에도 엔진의 유연성과 코드의 연동성은 기존보다 더 개선되었기 때문에 프로그래밍시의 많은 기술적 난점을 해소하였다. 그리고 이젠 PC뿐만 아니라 콘솔 기기도 본격적으로 지원을 함으로서 차세대 콘솔을 완벽지원하며 차세대 콘솔 기기인 Xbox 360와 PlayStation 3의 공식 미들웨어로 언리얼 엔진 3가 선정되었다.

지금 해외에선 언리얼 엔진 3가 차세대 콘솔 및 PC 게임 개발의 관례가 되어있으며 앞으로 게임 엔진 미들웨어의 중요성과 필요성이 점점 부각되어가고 있는 시점에서 지난 콘솔 세대의 미들웨어 선두주자인 렌더웨어(RenderWare)를 완전히 압도적으로 제치고 게임 엔진 미들웨어 시장의 선두주자로 달리고 있다.

렌더웨어가 단순히 그래픽스 라이브러리에 그쳐있는 반면에 언리얼 엔진은 버전업을 거듭하면서 방대한 게임 엔진으로 거듭났고 단순히 방대한게 아니라 방대한 엔진이 깔끔한 구조와 편리한 개발툴을 제공함으로서 개발 프로세서에 큰 향상을 주기 때문에 개발자들에게 크게 각광받고 있다.

현재 에픽의 엔진 개발팀에선 언리얼 엔진 3의 꾸준한 버전업을 담당하고 책임지고 있으며 언리얼 엔진의 핵심 개발자인 팀 스위니 (Tim Sweeney)는 언리얼 엔진 3의 상용화가 시작되기 1년전인 2003년부터 이미 언리얼 엔진 4의 코어 시스템 설계에 착수해 개발하고 있다. 언리얼 엔진 4가 출시되는 시점는 다음 세대의 게임 콘솔 기기들이 등장할 시기와도 맞물린다. 언리얼 엔진 4는 다음 세대의 게임 콘솔 기기들과 2012년 이후의 PC 하드웨어를 겨냥하여 개발된다.

언리얼 엔진 3의 버전업은 언리얼 엔진 4 (언리얼 엔진 4는 다음 콘솔 기기와 2013년 이후의 PC 하드웨어 세대에 맞춰 출시될 예정)가 주 개발 플랫폼으로 자리잡을 시점까지 꾸준하게 버전업이 이루어지면서 새로운 툴셋의 추가와 개선, 그 동안 새롭게 출시되는 PC 하드웨어와 새롭게 나오는 API의 활용 및 신기술의 추가, 엔진의 전체적인 기능성 및 최적화의 향상, 버그 수정과 개선, 확장성의 증대, 새로운 외부 미들웨어들의 IPP 추가 등의 현저한 향상과 두드러지게 새로운 특징들의 추가(significant enhancement and adding major new features)가 있을 것이며 Xbox 360와 PlayStation 3에도 각각 특화된 버전들로 꾸준하게 최적화를 이뤄갈 것이다.

언리얼 엔진 3가 처음 릴리즈 된지 얼마되지 않았을 때는 엔진이 불안정하며 버그가 많은 미완성된 엔진이라는 비아냥거림도 있었으나 현재는 버그가 많이 해결됐고 매우 안정적이며 이전보다 더 진보한 툴셋, 향상된 엔진의 성능, 다양한 외부의 미들웨어 IPP를 제공함으로서 이전보다 매우 크게 향상된 모습을 갖추고 있다. 실제로 2006년 11월에 발매된 기어스 오브 워에 쓰인 언리얼 엔진 3 버전과 현재 2007년 4월자 언리얼 엔진 3 최신의 빌드 버전을 비교해보면 불과 몇달정도 사이에 렌더링을 비롯한 많은 부분에서 큰 진보가 이루어졌다.

엔진 타입 : 통합형 범용 엔진

엔진 구성 및 업데이트

제공되는 소스

UDN은 Perforce에서 제공받는 코드는 Pure Unreal Engine 3이다. 이것은 말 그대로 순수한 Unreal Engine 3로 작성된 코드다.

라이센시 개발자들은 이 순수한 Unreal Engine 3를 가지고 각자의 타이틀에 맞게 세세한 확장 및 수정과 필요에 따라서는 특정한 기술의 추가가 요구될 수도 있다.

Pure Unreal Engine 3는 기본적으로 언리얼 엔진 코어 시스템과 기본적인 기술들과 그 기술들에 기반한 UnrealEd 툴셋의 기능들이 제공된다.

라이센시 개발자들은 UDN에 로그인 해서 그들의 타이틀에 필요한 기능 확장 등을 할 수 있다.

새로운 렌더링, 물리, AI, 사운드, 네트워크 등 모든 분야의 기술적인 지원 및 새로운 툴셋과 새로운 유틸리티 등 다양한 지원을 제공받을 수 있다.

언리얼 엔진을 사용한 게임들이 제각각으로 최적화도 다르고 게임의 외형적으로나 파일 시스템에서도 다양한 차이를 보이는 것은 이런 이유가 있기 때문이며 이것은 언리얼 엔진을 쓰는 게임들이 모두 같아 보이지 않도록 일부러 의도한 것이며 게임마다 서로 다르게 필요한 다양한 기술을 사용할 수 있기 때문이다.

언리얼 엔진을 사용하는 개발사들은 각각의 타이틀에 필요 없는 기술들은 사용하지 않고 필요한 기술들만을 골라서 최적화를 해야하며 그것은 개발자들의 몫이다.

제공되는 툴 (아래의 스크린샷들은 2004년 build의 스크린샷으로 최신버전에선 아래의 스크린샷들과 GUI 디자인이 더욱 디자이너 친화적으로 변화됐으며 새로운 보조 툴들의 추가와 세부적인 기능들의 추가 및 향상이 이루어졌다. UnrealEd의 GUI나 보조 툴들 및 세부적인 기능들은 프로젝트마다 다르게 정할 수 있으며 커스터마이징이 가능하므로 각각의 프로젝트마다 다른 모습을 보일 수도 있다)

Perforce에서 처음으로 제공받는 Unreal Engine 3는 Pure Unreal Engine 3이며 Pure Unreal Engine 3에 있는 기술들만을 사용하기 위한 툴들이 제공되고 UDN에서 새로운 기술을 추가하고 그 기능을 사용하기 위한 추가툴을 받아서 추가할 수 있다. UnrealEd는 언리얼 엔진 고유의 코어 시스템에 기반하여 작성된 프로그램이고 실제 Editor의 기능을 담은 언리얼 엔진 코어에 기반한 Editor 모듈은 따로 존재하고 UnrealEd는 언리얼 엔진 코어를 통해 Editor의 기능을 사용하게 해주는 UI격이다. 따라서 새로운 에디팅 기능은 Editor 모듈을 손보는 것으로 UI의 수정은 UnrealEd를 손보는 것으로 가능하며 UnrealEd가 아닌 별도의 작은 툴 애플리케이션을 언리얼 엔진 코어에 기반한 Editor 모듈을 통해 제작하는게 가능하다.

제공되는 컨텐츠

엔진 개발사에서 만든 게임

이 엔진을 사용한 대표적인 게임

국내에서 쓰이는 게임 (MMORPG)

국내에서 쓰이는 게임 (MMOFPS)

국내에서 쓰이는 게임 (온라인 FPS)

국내에서 쓰이는 게임 (콘솔 게임)

국내에서 쓰이는 게임 (세컨드 라이프)

국내에서 엔진을 쓰다가 게임이 취소된 경우

해외에서 쓰이는 게임

업데이트 : 지속적으로 개량 중, 최적화, 새로운 렌더링 기술, 새로운 툴셋, 기타 요소 등등

언리얼 엔진 3의 특징

플랫폼 지원

멀티 쓰레딩

로딩 시스템

렌더링 엔진

Perforce를 통해서 제공받는 Unreal Engine 3 코드는 순수한 Pure Unreal Engine 3이다. Pure Unreal Engine 3 코드는 아래에 설명된 것처럼 다양한 기술을 포함하지 않는다. 순수 D3D 9, D3D 10, OpenGL 2.x, OpenGl 3.x 기반의 렌더링만 탑재하고 있고 아래와 같은 다양한 기술 지원은 UDN에 로그인 해서 IPP를 포함해 다양한 기술들을 필요에 따라 골라서 추가하거나 조합하는게 가능하다.

물리 엔진

인공지능 엔진

사운드 엔진

네트워크 엔진

UDN (Unreal Developer Network) 지원

Unreal Engine 3 Integrated Partners Program (Unreal Engine 3 IPP)

Natural Motion의 Morpheme (무료, 물리 기반 애니메이션 관련 기술등, UE3에 모든 기술과 SDK 완전 연동, UnrealEd에 툴셋 완전 연동)


토론

언리얼 엔진 3는 Direct3D 9b의 Shader Model 2x를 최소사양으로 하며 Shader Model 2.0 및 그 이하의 고정 파이프라인 렌더링과의 하위호환성을 완전히 배제한 완전한 Shader Based Rendering을 추구합니다. 그 이하는 고려되지 않기 때문에 그 이하를 염두하는 게임이라면 언리얼 엔진 3를 선택하지 말고 언리얼 엔진 2나 다른 엔진을 선택하는게 옳습니다. --아무개

쉐이더 3.0 이상아닌가요? PC로 나온 레인보우식스 베가스,RoboHordes 데모를 보면 Radeon x800 시리즈도 지원을 하지 않습니다(분명히 x800은 쉐이더 2.x 이상을 지원하는데).그리고 언리얼 엔진 3에 대한 단점은 전혀 없군요. 2를 써본 경험으론 그렇게 유연한 엔진이란 생각은 들지 않던데요. --다른 아무개

UE2는 프로젝트에 쓴게 아니지만 소스만 봤는데 UE3에 비해서는 유연함이 많이 떨어지는 편입니다. 하지만 그전부터 언리얼 엔진 시리즈가 유연함에서 좋다고 한 이유는 다른 통합형 엔진에 비해서 구조가 이쁘기 때문입니다. 적어도 제가 본 엔진중 시리어스 샘과 파 크라이와 리스텍중에선 UE2가 코드의 상태가 잘 정리되있고 코드 내부도 modify하기에 편리한 점이 있죠.(예: core(UE써봤다면 뭔지 아시겠죠)에서 구현하는 uvm으로 모든 코드가 들어온 다음에 다시 분산시키고 engine에 핵심적인 기술이 들어있고 나머지 세부 객체를 파생시켜서 연동하는 형태와 모듈 객체마다 패키지 파일을 써서 언리얼 스크립트로 컨트롤하거나 텍스트 파일을 일부 떨궈서 텍스트 편집기로만 간단하게 설정할수 있는점을 들수 있겠네요. UE3도 같은 구조에서 더 광범위하고 편하게 쓰도록 확장되어 있습니다.

UE3의 단점을 들라면 글쎄요. 지금까지 단점은 특별히 느끼지 못했지만 저마다 뭔가 불만을 토로할수는 있겠죠. 저는 단점은 못느꼈습니다. 굳이 단점을 하나 말하라면 전 일주일마다 한번씩 업데이트 받아야한다는 강박관념(?)정도? 아니 업데이트 한다고 개발에 큰 차질이 생기는것도 아니고 별로 상관은 없지만. 그 외엔 개발중 생기는 트러블과 어려움은 어떤 엔진을 써도 마찬가지고 그런 이유가 UE3로 인해 생긴다고 생각되지 않으니까요. 예전부터 상용 엔진이나 미들웨어를 도입하는 사람들이 불만을 토로하는 경우를 종종봐왔는데 그런 경우는 "엔진에서 뭐든 그냥 알아서 다 해주겠지"라는 안일한 태도를 갖고 있는 사람들이거나 실력 부족인 경우가 대부분이었고 그렇게 불만 갖는 친구들 치고서 프로젝트가 순조로운걸 못봤습니다. 이건 물론 저만의 시각일수도 있지만 적어도 제가 봐왔던건 그렇습니다.

마지막으로 UE3는 쉐이더 2.x부터 돕니다. 레인보우 식스 베가스나 로보뭐시기는 안해봤지만 그 게임들이 지원안하는건 그 게임들 문제겠지요. 쉐이더 2.x를 지원하는 라데온 9xxx 시리즈부터 돌고 지포스는 쉐이더 3.0 지원하는 6xxx부터 제대로 돕니다. 다만 최신 드라이버는 쉐이더 3.0 기준으로 개발되고 있고요. 현재는 쉐이더 4 기반 드라이버가 준비되서 제공될려고 하고있습니다.

--UE3쓰는이

지금은 회사에서 나왔지만 얼마전까지만 해도 UE3를 쓰던 사람입니다. 저도 UE3 쓰면서 단점을 굳이 찾으라는 말은 억지로 단점이라고 짚어내지 않고서야는 이 엔진의 단점을 말하기란 다른 일로 생긴 문제를 억지로 엔진의 탓으로 핑계대는 것이라고 밖에 생각되지 않습니다. 뭐 팀원이나 팀장등의 입장으로서는 그런 발언 한마디에 자기들 밥줄이 걸린 문제니까 이해할만하지만요. --도타쿠

맞습니다. 언리얼 엔진 3 좋기만 하더만요. 엔진에 핑계대는 사람치고 자기 실력에 문제가 없는 사람없었다는... 언리얼 엔진 2까지는 조금 그렇지만 언리얼 엔진 3에는 투정부릴게 전혀 없습니다. 게임브리오만 쓰다가 언리얼 엔진 2, 3 구경해보니까 2는 좀 그래도 3는 차원이 다르더군요. 언리얼 엔진 3 쓰면서 느낀점은 이 대단한 엔진을 쓰면서 엔진에 핑계대는다는것은 프로그래머로서의 자질부터 스스로 체크해봐야겠다는 생각뿐이었습니다. --낙잠자자

정책이 저렇게 바뀐건 알지만 1년 유지보수에 $100,000인가요? --- 도타쿠

HDR 구현에 관심이 많은데, 라데온 9xxx 씨리즈에서도 된다니 신기하네요, 라데온 9xxx 씨리즈는 A16B16G16R16F에서 alpha blending을 지원하지 않는 걸로 알고 있습니다. 언리얼 엔진 3기반 게임은 pix로 잠깐 잡아보면 백버퍼가 A16B16G16R16F 인거 같던데 여튼 신기하군요 --- 지나가던이의 의견

HDR 구현에 대한 자료들은 인터넷 검색을 통해서 보시면 많은 자료들을 찾으실 수 있을겁니다. 파크라이 (크라이 엔진 1)는 HDR 구현을 SM2 이하에서는 구현하지 못했으나 나중에 나온 스플린터셀 3,4 시리즈나 언리얼 엔진 3, 하프라이프 2의 소스 엔진을 비롯해 요즘엔 SM2에서도 HDR을 구현합니다. 언리얼 엔진 3에선 SM3 이상 모드에서는 R16 G16 B16 A16모드나 R32 G32 B32 A32로도 HDR을 구현하는것도 가능합니다. 지포스 7000 계열 카드에서는 올 R32 G32 B32 A32모드로 돌리면 FSAA나 지연 렌더링을 사용 불가하게 되지만 이후의 카드에서는 가능합니다. --- UE3 사용자 의견

언리얼 엔진 3 HDR은 쉐이더 2에서도 돌아갑니다. 라데온 9시리즈부터 잘돌고 HDR도 되며 지포스 계열에선 지포스 6600 SM3부터 잘돕니다. 그리고 DX10 지오메트리 쉐이더 지원하고 있는데 비스타를 대비해서 잘 구현해놓고 있습니다. 뭣보다 GOW나 UT3의 쉐이더도 다 제공되는데 그걸 그대로 쓰면 GOW나 UT3정도는 나온다는 사실입니다. GOW보다 UT3가 UE3 엔진의 빌드 버전업 외에도 쉐이더 자체도 훨씬 진보했는데 IPP가 추가된 기능들을 추가로 쓴다는 점에서 훨씬 이득이며 비교적 낮은 사양에서도 더 뛰어난 모습을 보여줍니다. 그리고 엔진의 유연성이 별로라고 하신분이 계시는데 UE3를 써보고 하시는 말씀인지 모르겠지만 유연성에 관해서는 잘 알려진 그대로이며 말할 필요가 없습니다. --- UE3 쓰는 프로그래머

아는 분 회사에서 UE3 를 구경했습니다. 쉐이더를 직접짜지 않고 연산자 연결로만 쉐이더가 생성되는 건 아주 인상적이더군요. 그런데 질문이 있는데요. 연산자 연결로 쉐이더가 생성된다 치더라도, 각종 재질에 대한 물리적 이해가 있어야 그걸 구성하는데, 그래픽 디자이너 분들이 제대로 이해해서 활용하는지 궁금합니다. 그리고 기어스오브워 맵도 로딩해보면 원경은 2D 혹은 3D 병풍이던데, UE3에 원경에 대한 최적화 기법이 들어있나요? --- 125.131.230.250

머테리얼 셰이더는 비주얼 툴만으로도 작성이 가능한데 그래픽 디자이너들이 재질 혼합에 대한 이해를 가지고 있어야 합니다. 원경은 스카이 박스를 말씀하시는 것이라면 단순 2D부터 3D까지 여러 종류의 스카이 박스를 제공하고 있습니다. 그리고 UE3의 원거리 렌더링은 현재 새롭게 개발중입니다. Voxel 렌더링 기법과 Displacement Map을 혼합한 새로운 장거리 렌더링 시스템을 추가중에 있습니다. 약 100km 이상의 전장의 구현을 목표로 하는데 이 기능이 제대로 구현될려면 아직 몇개월 지나야 할것으로 보입니다. --- UE3 엔진 프로그래머

얼마전에 구경해봤는데 그래픽 퀄리티는 둘째치고 툴셋이 대단하더군요. 이쁜 디자인으로 꾸며진 인터페이스에 마우스 클릭만하면 직관적으로 척척 처리되고 그때그때 작업하면서 바로바로 툴셋 자체에서 플레이까지 가능한게 매우 인상 깊었습니다. 그리고 프로그래머분 말씀으로는 타 엔진에 비해서 정말로 커스터마이징에 아주 적합한 코드의 베이스를 갖고 있어서 프로그래머에겐 툴보다 그 부분이 더 행복한 부분이라고 하시던데 떠도는 말이 빈말은 아닌것은 확실한것 같네요. 그리고 생각보다 사양도 낮은데 놀랐습니다. XBOX 360으로 돌아가는 Gears of War보다 훨씬@.@ 이상의 퀄리티로 그래픽을 툴셋에서 바로 플레이 해봤는데 8800GTX 싱글에서도 아주 부드럽게 체감상 60프레임도 넘어보였는데 전혀 끊기지도 않고 돌아가더군요. 툴셋에서 플레이했다고 뭐가 빠진것은 아니라 실 게임 그대로 툴셋에서 돌아갑니다. --- 샤랄랄라

작년에 회사서 돌리는걸 봤을때도 7800GTX 싱글로도 않끊기고 잘 돌아갔습니다. PRT나 퍼지 쉐도우가 적용된 상태였었죠. --- 라이팅

저기 업데이트 기간은 계약조건에 따라서 달라지는 부분입니다. 무한이라니요? 무한 아닙니다. 기간 지나가면 UDN 로그인 아이디 짤리고 엔진 최신 업데이트 못받습니다(버그 패치는 받지만 툴 신규 업데이트나 엔진 개선 업데이트나 IPP 추가 업데이트 따위는 못받음). --- 프로그래머당

언리얼엔진이 그렇게 유연하고 만들기 좋은데 국내에서 언리얼을 이용해서 완성된 게임은 헉슬리랑 아바같은 FPS밖에 없는 걸까요? 엔진 라이센스는 수많은 회사가 한걸로 아는데요? --- 항상 궁금해하던 사람

게임 만들기가 그만치 어려우니깐 글쵸. 엔진을 떠나서 게임 만들기란게 쉬운게 아닙니다. 프로젝트 도중 취소되거나 여러가지 이유로 연기나 출시일이 미뤄지는 경우는 100에 98이구요. 회사 여건에 따라서도 프로젝트가 좌지우지되는데 머 여러가지 이유가 있슴다. 엔진 문제로 게임이 안나오는 경우는 없다고 보면됩니다. 하나의 핑계거리로 기사는 엔진 문제였다고 낼수는 있지만요. 저도 헌때 여러가지엔진을 만져봤고 진짜 구닥다리 싸구려엔진이 아닌 이상 엔진 문제로 프로젝트 나빠지는 경우는 거의 없습니다. 언3엔진도 1년간 써봤지만 확실히 흠잡을곳 없을만큼 훌륭한게 맞습니다. --- 게임플그래머


상용 엔진 정보

분류 엔진


제일 위로
최종 수정 일시: 05월 24일(2008년) 03:46 AM 편집 | 정보 | 차이 | 비슷한 페이지 DebugInfo
유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular