나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-11-03 17:37:54

언리얼 엔진/UDK

UDK에서 넘어옴
파일:상위 문서 아이콘.svg   상위 문서: 언리얼 엔진

{{{#!wiki style="margin:-10px"<tablealign=center><tablebordercolor=#2a2a2a><tablebgcolor=#2a2a2a> 파일:에픽게임즈 로고 화이트.svg에픽게임즈
Epic Games
}}}
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="display: inline-table; margin: 5px 0; width: 100%; background: #2a2a2a; border-radius: 5px;"
산하 스튜디오
파일:Mediatonic 로고.svg 파일:ArtStation 로고.svg 파일:Sketchfab 공식.png
미디어토닉
2005 파일:영국 국기.svg
ArtStation
2014 파일:캐나다 국기.svg
Sketchfab
2011 파일:프랑스 국기.svg 파일:미국 국기.svg
}}}

게임 목록 · 무료 배포 · 비판

역사 · 세부 버전 · 게임 목록 · UDK
비교(유니티) · Twinmotion · UEVR · 페가수스 월드 키트
둘러보기

게임 프랜차이즈 · 팀 스위니 · 소송전 · 에픽빠 · PlayStation PC
}}}

Unreal Development Kit
파일:external/media.moddb.com/profile_udk.png
<colbgcolor=#e6e6e6,#191919> 개발 에픽 게임즈
출시 2009년~2015년
유형 게임 엔진,
소프트웨어 개발 도구
기반 언어 C++, C#, UnrealScript,
GLSL, Cg, HLSL
요금 비상업적 이용 무료

1. 개요2. 세부 버전3. UDK만으로 쉽게 내가 원하는 게임을 만들 수 있을까?4. 사양
4.1. 최소 사양4.2. 콘텐츠 개발용 추천 사양4.3. DirectX 11용 게임 개발 최소사양

[clearfix]

1. 개요

파일:attachment/UDK/Example.jpg

에픽 게임즈에서 언리얼 엔진 3를 소스 코드 공개 없이 조건부 무료[1]로 배포하는 3D 게임 엔진 에디터.

2009년 11월에 첫 베타 버전이 배포를 시작으로 2015년 2월에 언리얼 엔진 3의 최종 업데이트와 함께 UDK도 마지막 버전이 배포되었다. 정기적으로 매월 1회 새로운 버전의 배포가 되었으며 버그가 발견된 경우에는 월 2회 배포된 경우도 간혹 있었다.

설치 파일명은 "UDKInstall-연도-월-BETA.EXE"이며 버그가 발견되어 월 2회 배포된 경우는 "UDKInstall-연도-월-BETA2.EXE"이다. 기본 설치되는 폴더명과 시작 프로그램명 역시 "UDK-연도-월"로 만들어진다.

정식 언리얼 엔진 3의 라이센스 업체가 받는 것과 거의 동일한 버전으로 매달 업데이트 되었으며 UDK의 최신 버전은 당연히 해당 달의 버전이다. 버전이 바뀌면서 엔진의 기능, 새로운 툴, 에디터의 편의성 개선, 하드웨어의 발전에 따른 새로운 기술 지원, 그래픽 기술 향상 등 버전업에 따른 변화의 차이가 꽤나 큰 편으로 최신 버전을 사용하다가 구 버전으로 돌아간다면 많은 기술적 격차와 함께 단순히 에디터를 사용하는 UI에서도 불편함을 느끼게 된다.

2012년 3월까지는 한달도 빠지지 않고 매월 배포되었으나 2012년 3월 GDC에서 언리얼 엔진 4 공식 발표 이후 5월, 7월, 11월로 듬성듬성 배포되었는데 사실상 이 때는 언리얼 엔진 3의 업데이트가 거의 종료 된 시점으로 모든 개발력이 언리얼 엔진 4에 집중된 시기이다. 이후 2013년엔 2월, 5월, 7월로 연간 총 3번, 2014년엔 2월, 5월, 8월로 연간 총 3번, 그리고 2015년엔 2월에 마지막 버전이 배포되었다.

2013년 2월 버전까지는 "베타" 버전이었으나 2013년 5월 버전부터는 베타 딱지를 뗀 정식 버전이므로 설치파일명에서도 "BETA"가 빠지고 "UDKInstall-연도-월.EXE"로 되어있다. 2013년 이후의 업데이트는 큰 기능개선은 없고 거의 랜드스케이프, 폴리지 관련 기능 개선이나, 모바일 지원 관련 내용 위주로만 업데이트 되었다.

언리얼 엔진 4는 2014년 3월 19일 GDC에서 일반 대중에게 월 $19.99라는 저렴한 가격의 멤버십 라이센스 정책을 발표하였고 더 이상 UDK라는 명칭은 사용하지 않는다. 자세한 내용은 언리얼 엔진 참고.

당연하지만 상용되는 언리얼 엔진이 그대로 탑재되었기 때문에 일반에 공개된 엔진임에도 불구하고 현존하는 거의 대부분의 상용 엔진을 쌈싸먹을 최신예 기술들이 총집합(UDK 배포시기 기준) 되어있고 개발을 위한 모든 툴이 구비되어 있다. 레벨 디자인을 위해 키스멧 비주얼 스크립트, 랜드 스케이프, 마티네 등의 툴, 캐릭터 등을 위한 애니메이션 트리, 애니메이션 세트, 피직스 에셋 같은 툴, 그래픽 아티스트를 위한 머티리얼 에디터, 캐스케이드 등, 그리고 PhysX 물리엔진, FaceFX, 스피드트리, 스케일 폼, 심플리곤, 서브스텐스 등 외부 미들웨어는 세계적으로 인정 받는 검증된 모듈이며 UDK를 사용할 시 저 미들웨어들을 공짜로 사용 가능하다.

이것은 UDK의 공개 의도 덕분인데, 유니티 엔진의 엔진 시장 홍보, 크라이엔진의 기술적 홍보 등 여타의 엔진들의 홍보를 의식하여 언리얼 엔진을 더욱 강력하게 대중에게 각인시킴과 동시에 기존 시장뿐 아니라 모바일이나 인디개발자, 그리고 틈새시장까지 공략하고, 그와 더불어 언리얼 엔진의 잠재적인 사용자 풀을 늘리고 교육시키려는 의도를 가지고 배포한 것이다. 게다가 게임에 국한된게 아니라 애니메이션, 건축설계, 군사용 시뮬레이션 등 비게임 분야에서도 사용될 수 있도록 많은 노력을 기울이고 있다. 그러한 취지에서 대단히 방대하고 자세한 교육 문서를 제공하며 특히나 고급 라이센스 업체에게만 제공될 법한 무수히 많은 매뉴얼은 무료 제공 버전으로서는 파격적인 수준이다. 게다가 한글화된 문서를 제공하는 것뿐 아니라 엔진 자체를 한글화해서 제공하는 것 역시 거의 유일한 케이스에 속한다.

이러한 행보 덕분에 이 분야에서 앞서나가고 싶어하는 크라이 엔진 또한 교육용 무료 SDK를 2012년 8월 배포하였으나 UDK의 막상막하의 라이벌이 될 것이라던 예상과 다르게 별 반향이 없이 사그라 들었다. CryEngine3 SDK는 2013년 초를 기준으로 스텐드 얼론으로 실행 파일만 빼는것이 불가능하며 레벨디자이너-모델러-그래픽-프로그래머의 협업이 힘들다. 반면 UDK는 각 분야별 작업간 협업이 매우 쉽고 개발에 효율적이고 우수한 툴과 편의성을 비롯해 지속적인 업데이트와 함께 새로운 지술의 지원과 더불어 여러가지 사용법들이 사용자 친화적으로 강화되어 감에 따라 크라이엔진 SDK와의 차별성을 더욱 부각시켰다.

주기적인 업데이트로 UDK는 2010년 중순의 버전부터는 64비트를 지원하게 됐으며, 2010년 말에는 iOS를 지원하는 버전이 공개되었다. 처음 iOS버전이 공개되었을때+는 PC판과 모바일판(iOS용)의 관련 바이너리파일들과 에디터가 별도로 실행되었으나 2011년 중순의 업데이트로 동일한 바이너리파일 및 동일한 에디터 내에서 PC판과 모바일판의 작업을 별 다른 설정의 변경 없이 사용이 가능하게 되었으며 PC판<->모바일판의 변환도 쉽게 할 수 있다. 초반엔 키즈멧을 사용하면 모바일에서는 상당히 느리기 때문에 언리얼 스크립트만으로 작성해야 하는 우려가 있었으나 모바일 플랫폼의 괄목할만한 빠른 성능 향상으로 인해 그럴 필요가 없어졌다. 모바일용 키즈멧 기능이 별도로 존재하여 터치 기능들을 쉽게 개발할 수 있다.

2011년 3월 버전부터는 차세대 기술 시연으로 화제가 된 사마리아인 데모에 쓰인 Bokeh Depth of Field, Tessellation, Image Based Reflection, Subsurface Scattering 등 다양한 DX11 전용 신기술을 UDK에 도입하여 사용 할 수 있게 되었다.

사실 다른 거 안 따져도 에픽 게임즈는 실로 대인배가 아닐 수 없다! 아무리 변형이 되었고 제약이 걸려있다곤 하지만 현역으로 돌아가고 있는 엔진을 무료로 내놓다니! 거기에 제약 없이 언리얼 엔진 3으로 이식이 가능하다는 장점 또한 존재한다!

고가에 라이센스되는 실제 언리얼 엔진과의 가장 큰 차이는 C++로 이루어진 네이티브 코드에 직접 손을 댈 수 없기 때문에 엔진 깊숙한 곳의 모든 기능을 마음대로 수정을 가할 수 없다는 점이다.

하지만, UDK만으로도 갖가지 장르 및 게임 타입을 만들거나 새로운 기능을 추가하는 것은 전혀 문제가 되지 않는다. 언리얼 스크립트를 게임플레이 스크립트를 작성하거나, DLL 바인딩 기능을 이용하여 C++로 게임코드를 작성할 수도 있고 LUA와 같은 별도의 스크립트 언어도 탑재가 가능하다. UDK에서의 배치(Deployment) 작업을 통해 별도의 실행 파일(EXE)도 생성이 가능하다. 한개의 맵에 마타네를 이용해 오프닝 무비를 만들고 거기에 스케일폼을 이용해서 메뉴를 만들고 다른 맵을 로딩해서 플레이 한다거나 혹은 한개의 맵으로 스트리밍을 설정하여 연결할 수도 있다.

맨 처음 UDK가 나온 2009년 11월 버전에서는 언리얼 스크립트로만 프로그래밍이 가능했지만, 바로 다음달 버전인 2009년 12월 버전부터는 C++를 이용한 DLL 바인딩이 가능하다. 이를 이용해 Lua나 기타 스크립트 언어를 탑재할 수도 있다. 참고

게임 개발자가 되고 싶으면 한번쯤은 써보자. 특히 FPS 장르를 개발하고 싶다면 필수다. AVA 이후로 언리얼 엔진을 사용하려는 회사가 많아진 만큼 익혀두면 취업에 매우 유리하다. 다른 엔진들보다 언리얼 엔진은 언리얼 스크립트의 활용능력이 엄청나게 중요한데다가, 엔진의 인지도, 사용되는 범위 및 기존에 만들어진 언리얼스크립트 사용자 영역이 대단히 커서 본격적인 프로그래밍 언어를 제외하고서는 실제 게임 프로그래밍 업계에서 '실전능력'으로 가장 힘을 발휘할 수 있는 지식 중 하나다. 비디오 튜토리얼도 한국어 자막이 존재하기 때문에 습득하려고 마음만 먹으면 빠르게 익힐 수도 있다. 하지만 워낙에 기능과 툴이 방대해서 생각만큼 쉽사리 익히기는 힘들다. 게임 엔진이니 당연하지만.

언리얼 스크립트는 프로그래밍 언어인 관계로 다른 언리얼 에디터 툴의 기능 사용법같은 동영상 튜토리얼이 없다. 툴의 사용법을 공부하는데에는 약 2개월 정도(투자 시간에 따라 다를 수 있다) 걸리지만 언리얼 스크립트는 6개월 정도는 배워야 한다. 하지만 언리얼 스크립트는 프로그래밍의 기본을 알고 있다면, 특히 C++Java를 잘 알고 있다면 매우 친숙한 언어가 될 수 있다. 비록 게임플레이 구현에 특화되어 있는 만큼 전통적인 프로그래밍 언어와는 다른 부분이 있기도 하지만 프로그래밍의 기본을 안다면 UDN을 참고하여 언리얼 스크립트에 대한 내용을 큰 무리없이 습득 가능하다.

UDK는 Unity3D와 다르게 기본적으로 게임플레이 작동 부분들이 완성되어져 기본 탑재되어 있다. 이 부분은 언리얼 엔진에서 정의한 게임플레이 작동 관련 클래스들인데 이것을 언리얼 스크립트라는 언어 자체와 혼동하는 경우가 있다.

보통은 게임플레이에서도 언리얼 엔진에서 정의한 기본 클래스들을 사용하며 이 경우 특정 부분을 수정하려고 하면 관련 클래스 뿐만 아니라 전체가 어떻게 움직이는지 알아야 하며 한가지 간단해 보이는 기능도 수정하기 위해서는 두가지 클래스이상을 재정의 하여야 한다. 만약 근접 무기를 새로 만들고자 한다면 pawn->controller->inventory->weapon 4개 정도의 클래스가 관계됨을 알게된다.

이런 정보들은 UDN 혹은 기타 관련 페이지에서 대부분 참고가 가능하다. 관련 도서는 국내에선 약간 아쉬운데, 언리얼 디자인 관련 도서는 한국에 출시된 것이 5권 정도 있으나 스크립트는 2권(그나마도 iOS 타이틀을 달고 있는 책은 매우 부실하다.) 정도밖에 없고, 커뮤니티는 외국 영문 사이트인 언리얼 위키 등지에서 참고가 가능하나 한글 사이트로는 디자인 관련은 많아도 언리얼 스크립트 관련 커뮤니티가 부실해 사람들에게 도움을 받기도 애매한 편이다. 물론 자신이 처한 상황을 영어로 잘 풀어써서 포럼에 올릴 수 있을 정도라면 예외겠지만.

2. 세부 버전

언리얼 엔진 정확한 버전을 알아보려면 언리얼 에디터를 실행시키고 도움탭에서 언리얼 개발 키트에 대하여를 누르면 맨 아래쪽에 버전이 나온다. 이것은 언리얼 엔진의 Build 버전으로서 자세한 내용은 언리얼 엔진 참고.

2007년작 "언리얼 토너먼트 3"의 최종 패치인 v2.1에 사용된 언리얼 엔진 3 버전은 "3809", UDK의 최초 배포버전인 2009년 11월의 빌드 버전 숫자는 "5860", UDK의 최종 배포 버전인 2015년 2월의 빌드 버전 숫자는 "12791"이다. 빌드 숫자가 많이 올라가면 올라갈수록 기능의 개선, 신기술 및 신기능 추가, 개발툴의 추가에서 많은 차이를 보인다. 단순 버그 수정 등으로는 버전 숫자가 거의 차이나지 않는다. 보통 매딜 업데이트 된 버전들을 비교해보면 평균 100 안팎 정도로 올라가면서 기능, 기술, 툴이 개선되었다.

UDK는 아래와 같은 버전들로 배포가 되었으나 라이센스 업체에게 제공되는 언리얼 엔진 3는 UDK 월간 배포된 버전 사이의 버전도 제공되었다. 예를 들면 라이센스 업체에게는 UDK 2014-02(12097)와 UDK 2014-05(12264) 사이에 12178, 12181 등의 버전이 제공되었다.

참고로 언리얼 엔진 개발사인 에픽 게임즈에서 출시한 게임들을 비롯하여 언리얼 엔진 3로 만들어진 주요 게임(시리즈)들 및 연도별로 출시된 주요 국산 온라인 게임들에 사용된 엔진 버전을 비교하면 대략적으로 버전에 따른 차이의 정도를 알 수 있다.

패키지 게임
국산 온라인 게임들 같은 경우는 개발 기간이 길어서 오래된 버전으로 개발을 시작한 뒤 신 버전으로 업그레이드 하지 않은 경우도 있고 개발기간은 길었으나 발매 직전 신 버전으로 업그레이드 해서 출시한 경우도 있다. 해외 온라인 게임중 일부는 서비스 중 패치로 엔진 버전을 업그레이드 하기도 했다.

국산 온라인 게임들
배포된 UDK의 세부 버전은 다음과 같으며 각 버전별 차이점은 매우 많으나 특별히 두드러지는 차이점들만을 간단히 표기한 것이다.

3. UDK만으로 쉽게 내가 원하는 게임을 만들 수 있을까?

언리얼 스크립트를 쓰지 않고서도 기본 제공되는 기능을 사용해서 키스멧과 툴만을 가지고도 웬만한 구성은 할 수 있으나 자유롭게 새로운 게임타입을 구성하려면 언리얼 스크립트는 기본적으로 할 줄 알아야 한다. 굳이 언리얼 스크립트가 아니더라도 위에서 언급된 DLL 바인딩 기능을 활용하여 C++Lua, C# 등의 기타 스크립트 언어를 사용해도 된다.

프로그래밍을 전혀 모르는 사람이 혼자서 UDK를 가지고 툴만을 사용하여 간단한 게임(데스매치, CTF 등)은 만들 수 있으나 프로그래머 없이 자유자재로 갖은 게임들을 만들어 내는 것은 불가능하다. 하지만 이는 어떤 엔진을 쓰더라도 마찬가지이며 프로그래머 없이는 RPG 만들기 같은 것으로 비슷한 게임을 찍어내는 것 외엔 구현이 불가능한 것과 마찬가지다. 이와 비슷하게 유니티 엔진도 C#으로 게임 스크립트를 작성해야 하며 프로그래머 없이는 비슷한 결과를 초래한다.

아쉽지만 프로그래밍을 통한 스크립트 작성을 제외한, 키스맷과 툴 전반을 공부해서 레벨 디자인을 한다면 그럭저럭 나쁘지 않은 퀄리티의 게임을, 물론 한정된 장르(서술했듯이 데스매치, CTF)내에서 만들어 볼 수 있다. 몇몇 네이버 카페에선 약간의 키즈멧과 툴을 가지고 게임을 만든다는 건 게임 프로그래머의 경험이라 할 수 없고 애들 장난이나 다름없다고 비판하나, 그에 맞서 게임 개발자를 꿈꾸는 학생들을 위해선 좋은 경험이 될 것이라고 반박하는 네티즌들도 많다.

물론 학생들은 방대한 언리얼 스크립트를 배울 시간이 없으므로, 혹 배운다 해도 보통은 학업에 지장이 크기에 언리얼 스크립트를 배워 게임을 제작하겠다는 것은 무리다. 키즈멧, 툴을 가지고 UDK로 맵을 만들어서 기본으로 제공하는 데스매치 게임이라도 만들어 보는 것이 좋은 경험이 될 것이다. 툴을 썼건 질이 나쁘건 젊을 때 나름대로 '게임을 완성했다'는 경험은 굉장히 큰 자산이 된다. 안 해본 사람은 모른다. 프로 게임회사에서도 엎어지는 프로젝트가 부지기수인데[3] 서로의 의견을 조율하고 희생하면서 게임을 완성시키는 건 쉽게 할 수 없는 경험이다. 게임은 혼자 만드는 게 아니다.

허나 중요한 것은 UDK는 프로그래머보단 디자이너를 위한 툴이라는 점이다. 애초에 UDK가 공개된 목적이 디자이너들을 편하게 하기 위해서다. 키즈멧 같은 툴도 "프로그래머의 도움에서 벗어나" 디자이너가 조금 더 쉽게 게임플레이 스크립트를 작성할 수 있도록 의도한 것에서 창안된 기능이다. 언리얼 엔진 4에서 키즈멧을 대체한 블루프린트는 그점을 더욱 강조하여 개선되었다. 툴이 발전할수록 디자이너가 프로그래머의 도움없이 혼자서 개발할 수 있게 하는 것이 목적인 것이다.

UDK를 통해 다양한 3D 기술들을 직접 접해보고 셰이더를 조합하고 텍스처를 입혀보고 맵을 만들어 본다면 디자이너 지망생들에게는 나중에 취직해서 하게 될 실제 개발업무와 상당히 비슷한 경험이 된다. 몇몇 카페에서 얘기했듯이 디자이너에게 그들이 말하는 본격 프로그래머의 경험을 요구한다면 그 회사는 개막장 회사다. 만약 가능하다면 회사를 나와서 혼자 만들어도 된다

또한, UDK에서 제공된 기본 기능들만으로 무언가를 만들어 보는 것이 프로그래머의 경험이라 할 수 없는 애들장난 수준이라고 한다면, 공개된 텍스쳐를 사용하는 아티스트나, 샘플 캐릭터등을 사용하는 3D 모델러, 샘플 SFX나 BGM을 사용하는 사운드 디자이너 같은 다른 포지션에서도 마찬가지다.

이런 류의 '배우려면 본격적인 걸 배워라'라고 말하는 사람들이 흔히 하는 잘못이 자신의 초보 시절을 전혀 생각 안 하는 것이다. 게임 제작에 필요한 툴 사용은 본격 프로그래밍에 비해 간단한 편이지만, 초심자들은 그 툴 사용조차 어려워한다. 구구단을 배워야 할 아이한테 "제대로 수학을 하려면 미적분을 해야지!" 하는 식이다. 본격 프로그래밍은 배워야 할 게 산더미 같고 그 과정을 따라가다 '게임은 언제 만들어요?' 하다가 때려치우는 사람이 부지기수다. 알고 나면 별거 아니라고 하지만 자기는 이미 아니까 별거 아니지. 그걸 진입장벽이라고 텃세를 부리면 게임개발계는 더욱더 고착되기만 할 것이다.

4. 사양

4.1. 최소 사양

운영체제 : 윈도우 XP 이상
CPU : 2.0 GHz
램 : 2GB
그래픽 카드 : DirectX 9.0c (Shader Model 3.0) 호환 비디오 카드
하드디스크 : 3GB 필요

4.2. 콘텐츠 개발용 추천 사양

운영체제 : 윈도우 비스타 64비트 서비스 팩 2 이상
CPU : 2.0 GHz 이상의 멀티코어 프로세서
램 : 8GB
그래픽 카드 : NVIDIA 지포스 8 시리즈 이상
하드디스크 : 최대한 넉넉히 (Plenty of HDD space)

4.3. DirectX 11용 게임 개발 최소사양

운영체제 : 윈도우 비스타 SP2 이상(DirectX 11 설치 필수)
CPU : 2.0 GHz
램 : 2GB
그래픽 카드 : NVIDIA - 지포스 400 시리즈 이상 / ATI - 라데온 HD 5000 시리즈 이상
하드디스크 : 3GB 필요


[1] 비상업적 용도에 한정해서 무료배포다. 상업적인 용도로 사용하려면 iOS계열처럼 에픽 게임즈에 일정량의 라이센스비(정식 언리얼 엔진 라이센스보다는 훨씬싸다.)를 내야 한다.[2] 콘솔과 PC로도 발매 예정이었으나 무산되었다.[3] 실례를 보고 싶다면 이수인이 쓴 '게임 회사 이야기'라는 책을 한번 읽어볼 것. 옛날에 나왔지만 충분히 읽을 만 하다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r137
, 번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r137 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)