UDN
Search public documentation:

UnrealOniOSKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 모바일 홈 > 언리얼 엔진 3: 모바일 개요 > 언리얼 엔진 3: 애플 iOS 개요

언리얼 엔진 3: 애플 iOS 개요


문서 변경내역: Josh Adams 작성. 홍성진 번역.

개요


언리얼 엔진 3를 사용하여 애플 iOS 플랫폼용 게임을 개발하는 것은 다른 플랫폼용 개발하는 것과 많은 부분 비슷합니다. 물론 각 플랫폼마다 고유의 기능도 있고, 고려해야할 사항도 있기는 합니다. 여기서는 언리얼 엔진 3를 사용하여 iOS 디바이스용 게임을 개발하는 데 있어서의 일반적인 개요를 살펴보도록 하겠습니다.

시작하기


언리얼 엔진 3를 사용하여 iOS 디바이스용 게임을 개발하는 것에는 iOS 디바이스용 게임을 빌드하기 위한 개발 환경 구축은 물론 iOS 디바이스에서 실행되는 언리얼 프로젝트의 테스팅, 패키징, 배치를 위한 전반적인 작업방식 등 특수한 요구사항, 작업방식, 고려사항이 따릅니다.

iOS 디바이스용 게임 제작의 준비 및 실행 과정에 대한 세부적인 내용은 시작하기: iOS 개발 페이지를 참고하시기 바랍니다.

감마 보정


2011년 6월 부로

iOS 디바이스에 감마 보정이 지원되며, 모든 플랫폼에 걸쳐 라이팅이 일관된 레벨과 콘텐츠를 제작할 수 있도록 하기 위함입니다.

mobile_gamma_results.jpg

감마 보정을 켜려면

모바일 플랫폼에서 감마 보정은 디폴트로 켜져있지 않습니다. 모바일 게임용으로 감마 보정을 활용하려면, 맵의 월드 프로퍼티 에 있는 Use Gamma Correction (감마 보정 사용) 프로퍼티를 켜 주시기 바랍니다.

gamma_enabled.jpg

퍼포먼스 고려사항

모바일 디바이스에서의 감마 보정은 퍼포먼스에 꽤나 큰 영향을 끼칠 수 있습니다. 거의 앞으로 나올 모바일 디바이스용으로 있는 것이라 봐도 됩니다. 현재 감마 보정을 사용하는 게임을 제대로 돌릴 수 있는 디바이스는 아이패드2 밖에 없습니다.

VGA 출력


엔진은 VGA Dock Adapter를 사용하는 기본 VGA 출력이 지원됩니다. VGA에다 3D 뷰포트를 표시하는데, 다음 사항을 고려합니다:

  • 명령줄에 -vga 옵션을 붙여 게임을 실행해야 합니다.
  • VGA 단자가 게임 시동 전에 연결되어 있어야 합니다.
  • VGA 장치에 지원되는 해상도를 알아보고, 폭이 1024가 넘지 않는 것 중 가장 높은 해상도를 선택합니다. (일반적으로 iPad 해상도 1024x768에 일치시키기 위해 사용됩니다.)
  • 화면/무비 로딩은 보통 틀려 보일 것입니다.
  • 터치 입력은 디바이스, 분홍색 영역에서 수행됩니다. 그러나 현재는 입력 위치에 대한 리매핑이 없기에, 해상도를 640x480 으로 선택한다면 그에 해당하는 분홍색 영역의 좌상단 부분을 사용해야 합니다.

iOS Settings 앱을 통한 명령줄 세팅


엔진은 iOS의 외부 Settings 앱(Wifi, 사운드, 에어플레인 모드 등을 설정할 때 가게 되는 표준 설정 부분)에서 스위치와 문자열을 통해 게임 명령줄을 변경할 수 있는 기능을 지원해 왔습니다. 그 세팅은 Settings.bundle 디렉토리 안의 Root.plist 라 불리는 파일에 지정되어 있습니다:

   //depot/UnrealEngine3/UDKGame/Build/IPhone/Resources/Settings/Settings.bundle/Root.plist
   //depot/UnrealEngine3/UDKGame/Build/IPhone/Resources/Settings/Distro_Settings.bundle/Root.plist

Settings 에서 볼 수 있는 것은 이와 같습니다:

SettingsOuter.png SettingsInner.png

일반적으로 이 세팅은 디버깅용으로 사용되기에, 포함시켜 게임을 출하하고 싶지는 않을 것입니다. (출하하려는) Distribution 빌드를 만들 때는 Distro_Settings.bundle 이 사용될 것입니다. Settings 앱에 아무것도 나타나지 않게 하고 싶은 경우, 그냥 Distro_Settings.bundle 디렉토리를 지우면 됩니다. Distribution 빌드를 만들 때 Settings.bundle 을 예비로 사용하지 않으며, 오직 Distro_Settings.bundle 만 사용합니다.

Root.plist 파일 포맷에 대한 문서가 있기는 하지만, 거기서 UE3 명령줄에 뭐가 놓여 있는지 지정하는 법을 알아야 합니다. 저희가 사용하는 두 가지 예는 이렇습니다:

  <dict>
    <key>Type</key>
    <string>PSToggleSwitchSpecifier</string>
    <key>Title</key>
    <string>Benchmarking?</string>
    <key>Key</key>
    <string>-benchmark</string>
    <key>DefaultValue</key>
    <false/>
  </dict>
  <dict>
    <key>Type</key>
    <string>PSTextFieldSpecifier</string>
    <key>Title</key>
    <string>Benchmark seconds</string>
    <key>Key</key>
    <string>-benchmarkseconds=</string>
    <key>KeyboardType</key>
    <string>NumberPad</string>
  </dict>

첫 줄에 , 둘째 줄은 키에 따라서, 각각 두 라인씩 설정할 것이 많이 있습니다. 분석해 보자면:

  • Type 유형 - 세팅 유형입니다. PSToggleSwitchSpecifier 는 On/Off 스위치이며, PSTextFieldSpecifier 는 글상자입니다.
  • Title 제목 - 사용자에게 표시되는 것입니다. (너무 길면 TextField 가 텍스트를 표시하기 위한 공간이 부족할 수 있습니다.)
  • Key 키 - 중요한 정보로, 명령줄에 직접 들어가는 부분입니다. - 또는 ? 로 시작해야 합니다. Toggle 의 경우, Toggle 이 On 으로 설정된 경우 명령줄에 Key 가 들어가게 됩니다. TextField 의 경우, 텍스트가 비어있지 않으면 Key 가 명령줄에 들어간 다음 사용자가 입력한 텍스트가 뒤따릅니다.
  • DefaultValue 디폴트값 - 세팅의 초기화 값을 원하는 대로 설정할 수 있습니다.
  • KeyboardType 키보드 유형 - 사용할 키보드 유형입니다. TextField 관련 더욱 자세한 정보는 이 문서를 참고해 보시기 바랍니다.

테스트하진 않았지만 Slider 및 MultiValue 유형도 사용할 수 있을 것입니다. 코드는 그냥 세팅의 유형에 상관없이 문자열 값을 구할 것입니다. 이를 처리하는 코드에 대해서는 main.mm 을 보시기 바랍니다.

Settings 앱을 명령줄 이외로 사용


이 페이지에서 설명된 대로 Settings.bundle 에서 똑같은 세팅을 노출시킬 수도 있습니다. PSGroupSpecifier 로 새로운 그룹을 만드는 경우라면, - 또는 ? 로 시작하지 않는 키를 가지고 세팅을 좀 더 만든 다음, "mobile LoadSetting " 콘솔 명령을 통해 (Root.plist 파일에 지정된 대소문자-구별 Key 를 사용하여) 값을 구할 수 있습니다.

버전 문자열


Version.png

UnrealFrontend 가 iOS 어플리케이션 번들을 패키징할 때, 엔진 버전에 대한 키/값 쌍과 iOS 실행파일의 빌드 날짜를 추가합니다. 키는 EpicAppVersion 이라고 합니다. Shipping 빌드가 아닌 경우 이 값이 표시됩니다. 그래도 이 표시르르 강제로 끄거나 켤 수 있습니다. UDKGame 의 Config\Mobile\MobileEngine.ini 에서 보듯이, Engine.ini 파일을 통해서 말입니다:

[Build.Version]
bForceShowAppVersion=False
bForceHideAppVersion=False

Game Center


iOS 언리얼 엔진 3 는 Game Center 를 통한 멀티플레이어와 업적 시스템을 지원합니다. 그 구성 및 사용법에 대해서는 Game Center KR 페이지를 참고해 주시기 바랍니다.

iAds


iOS 플랫폼용 언리얼 엔진 3 에 애플의 iAd 네트워크를 통한 게임내 광고 표시 기능이 지원됩니다. 게임내 광고 사용 관련 자세한 내용은 In Game Ads KR 페이지를 참고하시기 바랍니다.