스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
게임을 Mac으로 가져오기, 1단계: 기본 계획 세우기
Metal과 Apple Silicon의 강력한 기능을 사용해 최신 하이엔드 게임을 Mac과 iPad로 가져오세요. Game Porting Toolkit을 살펴보고 기존 윈도우 게임의 그래픽 기능 호환성과 성능을 평가하세요. 이 세션에서는 오디오, 입력 방식, 고급 디스플레이 기능에 대한 모범 사례와 기술 리소스를 공유합니다. 이 세션을 시청한 후 '게임을 Mac으로 가져오기, 2단계: 셰이더 컴파일하기'에서 HLSL 셰이더를 Metal로 가져오는 방법을 자세히 알아보세요.
챕터
- 0:00 - Intro
- 0:57 - Game porting toolkit
- 3:04 - Evaluate your game
- 8:46 - Compile your shaders
- 9:13 - Render with Metal
- 9:44 - Input
- 11:12 - Audio
- 13:08 - Display
- 14:37 - Wrap-Up
리소스
- Achieving smooth frame rates with Metal’s display link
- Download the game porting toolkit
- Download the Metal shader converter (Mac and Windows)
- Game Controller
관련 비디오
Tech Talks
WWDC23
WWDC22
WWDC21
- Discover geometry-aware audio with the Physical Audio Spatialization Engine (PHASE)
- Explore HDR rendering with EDR
- Tap into virtual and physical game controllers
WWDC20
-
다운로드
♪ ♪
안녕하세요, 환영합니다 저는 Aiswariya입니다 Mac으로 게임을 가져오는 방법을 소개하게 되어 기쁩니다 이 세션은 하이엔드 게임을 Mac으로 가져오는 3부작 세션의 첫 번째 영상이며 두 번째와 세 번째 세션에서는 툴과 기술을 통해 셰이더를 컴파일하는 방법과 Metal로 렌더링할 때의 모범 사례를 소개합니다 놀라운 게임 경험을 위한 모든 것을 제공합니다 Apple Silicon을 장착한 Mac의 발전된 그래픽, 환상적인 성능 몰입되는 음향, 놀라운 디스플레이 풍부한 기능의 소프트웨어가 있죠 그 어느 때보다 인기가 높아진 Mac과 함께 여러분의 게임을 수백만 명의 플레이어에게 소개할 기회입니다 윈도우 게임을 맥으로 포팅하는 게 그 어느 때보다 빨라졌죠 올해, Game Porting Toolkit은 에뮬레이션 환경을 제공하여 수정하지 않은 윈도우 게임을 실행할 수 있습니다 이를 통해 그래픽 기능 사용량을 빠르게 이해할 수 있고 Mac에서 게임을 실행했을 때의 잠재적 성능을 가늠할 수 있죠 게임 비주얼, 음향, 플레이 파악에 몇 개월이 걸리지 않고 게임의 잠재력을 바로 볼 수 있습니다 윈도우 게임을 새로운 플랫폼으로 포팅하려면 많은 단계를 거쳐야 첫 번째 장면을 실행할 수 있는데 소스 코드를 다시 컴파일하고 HLSL에서 수천 개의 커스텀 셰이더를 변환하고 그래픽 하위 체계를 재적용하고 음향, 입력 장치, 디스플레이와 HDR 렌더링을 컨버팅해야 새로운 플랫폼에서 자체 실행된 첫 번째 장면을 볼 수 있고 디버그와 성능 최적화를 거쳐야 출시할 수 있죠 Game Porting Toolkit의 도움으로 플랫폼에서 실행된 첫 번째 장면을 훨씬 빨리 볼 수 있습니다 Game Porting Toolkit은 Metal 셰이더 컨버터를 포함하여 기존의 HLSL GPU 셰이더를 전부 자동으로 변환하여 Metal로 보낼 수 있죠 Metal 셰이더 컨버터로 셰이더와 그래픽을 빠르게 Mac으로 가져올 수 있고 빠르게 출시하여 남는 시간에 Mac과 Apple Silicon의 독특한 기능을 이용할 수 있습니다 게임이 실행되는 걸 바로 볼 수 있어서 교차 플랫폼 엔진을 사용하여 포팅할 때도 도움이 되죠 플랫폼 특화 코드나 교차 플랫폼 엔진에 추가한 플러그인을 포팅하기 전에 잠재력을 볼 수 있습니다 Mac으로 게임을 포팅하는 건 게임에 대한 평가로 시작하며 셰이더를 컴파일하고 Metal로 렌더링하고 입력 장치, 음향, 디스플레이와 HDR 렌더링을 변환해야 합니다 첫 번째 단계는 Game Porting Toolkit을 이용하여 게임을 평가하는 거죠 Game Porting Toolkit의 환경이 게임의 Intel 지시 사항과 Windows API의 사용을 키보드, 마우스, 컨트롤러 입력 장치와 음향 플레이백 네트워킹 및 파일 체계 사용 그래픽을 변환합니다 현대의 그래픽 기능인 GPU 주도 파이프라인과 SIMD 작업 예전 기능인 테셀레이션과 기하 셰이더도 변환하죠 직접 살펴보겠습니다 Bloober와 같은 개발사가 Game Porting Toolkit을 사용하여 'The Medium'의 Windows DirectX 12 빌드를 평가하죠 'The Medium'은 Bloober가 개발하고 유통한 최신 게임입니다 이번에 출시된 Apple Silicon과 Metal 버전이 놀랍고 아름답고 재미있는 게임이죠 조금 무섭기도 한데 몰입감 높은 그래픽과 음향을 플레이어에게 선사합니다 툴킷을 설치한 뒤에 'The Medium'의 윈도우 빌드를 Mac에 복사하고 터미널에서 실행하세요 Game Porting Toolkit의 변환 환경에서 실행하면서 로깅과 디버그 정보가 터미널에 나타납니다 게임을 실행하면 해결해야 할 잠재적 문제가 로깅에 포함될 수 있지만 Bloober의 개발자들에겐 문제가 없는 듯하군요 Game Porting Toolkit의 문서를 살펴보고 로깅에 나올 수 있는 항목의 상세 정보를 찾아보세요 여기서는 개발자가 게임이 잘 실행되는 걸 확인했고 모든 그래픽 기능이 실행됐으며 예상한 대로 작동 중입니다 개발자들이 눈여겨보는 기능은 투명도나 반사, 기하 셰이더, 테셀레이션 개발사만의 독특하고 분위기 있는 전역 조명 방식이며 Metal 3에 선명하고 정확하게 반영된 걸 확인했습니다 다음 단계는 잠깐 플레이하며 기준치 성능을 가늠하는 거죠 윈도우 게임을 실행하며 관찰해야 하는 기준치 성능에는 Game Porting Toolkit의 모든 오버헤드를 포함하며 API와 명령어 세트 변환도 포함됩니다
Bloober의 경우 윈도우 버전이 MetalFX 업스케일링과 같은 성능 개선 기능을 이용하지 못하죠 네이티브가 아닌 게임이 변환을 거쳐 실행될 경우 성능과 전력 효율성에 영향을 줄 수 있습니다
Mac에서 직접 게임을 만들면 성능이 개선되고 Apple Silicon과 Mac 하드웨어의 발전된 기능인 MetalFX 등을 활용할 수 있고 Apple 내장 디스플레이의 EDR 기능도 활용할 수 있죠 게임 평가 시 좋은 작업 흐름은 Metal Performance HUD를 이용해 게임을 플레이하고 더 깊은 느낌을 줄 수 있는 지점을 찾아보는 겁니다 개발자들이 HUD를 통해 프레임 드롭 지점과 평균 프레임률이 낮은 지점을 찾았죠 그러면 Instruments를 이용하여 Metal System Trace를 포착합니다 성능 문제를 살펴볼 수 있는 훌륭한 방법이죠 Metal Performance HUD는 Game Porting Toolkit에서 실행했을 때 성능이 더 좋아졌습니다 HUD의 표준 정보는 아직 위쪽에 있죠 GPU 정보와 렌더링 해상도를 보여 주며 순간 프레임률과 현재 인터벌 GPU 사용 시간의 근삿값을 보여 줍니다 이러한 통계의 최댓값과 최솟값을 보여 주고 메모리 사용량과 지난 몇 초간의 데이터 그래프를 제공하죠 아래는 HUD가 명령어 세트 변환의 세부 사항을 보여 주고 어떤 Direct3D API 버전을 사용하고 있는지 렌더 인코더는 몇 개를 사용 중인지 명령 버퍼와 디스패치는 몇 개가 실행 중인지 기하 셰이더나 테셀레이션 셰이더 같은 각 종류의 기능을 프레임당 몇 개씩 사용하는지 보여 주고 있습니다 추가로 리소스 복사와 클리어도 포착하죠 여기서 Instruments를 통해 trace 파일을 열고 프레임 드롭 현상이 나타나는 곳을 빠르게 검색합니다 여기군요, GPU 타임라인에 큰 공백과 낮은 활용 지점이 있고 여러 프레임에 작업이 할당되지 않았습니다 이걸 살펴보면 이러한 현상이 발생한 이유가 전반적인 명령어 변환이나 API 변환으로 인한 차이 때문이죠 Mac에서 네이티브 하게 게임을 만들면 사라질 문제들입니다 게임의 성능이 높아지고 효율적으로 실행되죠 또, Metal로 렌더링할 때 모범 사례를 이용하여 MetalFX 업스케일링을 활용하면 게임 성능이 더욱 나아질 겁니다 이건 'The Medium'의 Mac 네이티브 버전과 변환 버전을 비교한 건데 Metal 3와 Apple Silicon 활용으로 이 장면의 프레임률이 극적으로 개선됐습니다 Game Porting Toolkit을 사용하려면 developer.apple.com을 방문하세요 패키지에 포함된 지시 사항을 통해 툴킷을 빌드하고 설정하여 게임 평가를 시작할 수 있죠 Game Porting Toolkit과 Mac용 게임에 대한 피드백, 질문 제안 사항이 있다면 피드백 지원을 사용하세요 이제 여러분의 윈도우 게임을 실행하여 그래픽 기능과 성능을 평가했으니 그 정보를 이용하여 셰이더 파이프라인을 포팅하세요
Metal 셰이더 컨버터 툴을 사용하여 게임의 고급 셰이딩 파이프라인을 변환할 수 있으며 기하, 테셀레이션, 메시 레이 트레이싱 단계를 포함합니다 셰이더를 컴파일하는 건 심화 주제이므로, 준비되면 시리즈의 두 번째 세션인 '셰이더 컴파일하기'를 보세요 이제 Metal을 이용한 렌더링을 살펴볼 시간입니다
Metal 3는 고급 그래픽과 계산 기능을 제공하는데 최첨단 게임에서 사용하는 MetalFX, 빠른 리소스 로딩 오프라인 컴파일 작업과 메시 셰이더, 레이 트레이싱을 포함하여 그래픽 코드 변환 작업을 간단하게 수행합니다 세 번째 세션인 'Metal로 렌더링하기'는 여러분의 렌더링을 Metal로 포팅하는 내용으로 Apple Silicon의 우수한 성능을 활용할 수 있죠 Game Porting Toolkit을 통해 기본 입력 기능을 평가했습니다 이제 네이티브로 포팅하여 럼블과 햅틱 같은 고급 기능을 활용할 시간이죠 여러분의 윈도우 게임은 교차 플랫폼 게임 엔진으로 만들어 일반적인 입력 플러그인을 사용했거나 XInput과 GameInput과 같은 하급 윈도우 API를 사용했거나 게임 주변기기를 위해 커스텀 SDK로 번들했을 수도 있죠 Apple 플랫폼에서는 게임 컨트롤러 프레임워크가 스레드 안전과 낮은 레이턴시 지원을 다양한 게임 주변기기에 제공하는데 게임 패드, 키보드, 마우스 운전대, 아케이드 스틱 등이 있죠 햅틱이나 모션 같은 추가적인 게임 컨트롤러를 이용할 수도 있습니다 Apple 플랫폼은 시스템 단위의 사용자 설정 지원을 제공하며 애플리케이션별 입력 리매핑과 스크린 숏, 캡처 영상 녹음을 위한 자동 지원과 모든 게임의 15초 하이라이트를 컨트롤러에서 제공하죠 입력 장치를 포팅하는 건 쉽습니다 더 많이 알고 싶으면 과거의 세션인 '가상과 실제의 게임 컨트롤러 활용하기'와 '게임 컨트롤러의 발달'을 확인하면 세부 사항과 샘플 코드를 찾을 수 있죠 음향도 매혹적인 게임의 핵심적인 요소입니다 기존 게임의 음향 작업 흐름과 Mac의 네이티브 기능은 아주 간단하죠 Apple 기기는 최첨단 스피커를 내장하고 있어 플레이어들이 소리를 크고 또렷하게 들을 수 있습니다 시끄러운 팬 소리에 묻히지 않기 때문이죠 Apple 기기와 호환되는 유선과 무선의 음향 주변기기가 낮은 레이턴시의 공간 음향을 지원하죠 기존 게임이 교차 플랫폼의 오디오 미들웨어 솔루션인 Wwise, Unity와 FMOD를 사용할 텐데 음향 API와 프레임워크를 일반적으로 추상화합니다 윈도우에서는 DirectSound XAudio2, WASAPI와 같은 하위 API 위에 미들웨어 레이어를 사용하죠 동일한 미들웨어 제품이 Apple 플랫폼에도 있습니다 상위와 하위의 Apple 음향 프레임워크인 Spatial Mixer Audio Unit과 PHASE, AVAudioEngine을 활용하죠 좋은 소식은 모든 미들웨어 제품을 네이티브 Apple Silicon SDK에서 지원한다는 사실입니다 여러분이 할 일은 거의 없죠 미들웨어를 사용하지 않는다면 플랫폼에서 제공한 음향 프레임워크와 API를 미들웨어처럼 직접 사용할 수 있습니다 특히 훌륭한 공간 음향을 달성하고 싶은 경우 PHASE 문서와 샘플 코드를 살펴보면 AUSpatialMixer를 이용한 12채널 7.1.4 PCM 데이터로 공간 음향 생성을 시현하죠 CoreAudio, AudioUnits와 PHASE에 관한 이전 세션도 게임이 오디오 미들웨어를 기반으로 하지 않는다면 하위 시스템 프레임워크를 이용하는 걸 배우기에 좋습니다 Apple의 디스플레이는 인상적이고 몰입감 넘치는 게임 경험을 제공하기 위한 필수 요소죠 Game Porting Toolkit으로 게임의 렌더링 코드가 기본적인 SDR에서 실행되는 걸 보고 변환된 환경에서의 프레임 페이싱 API를 볼 수 있죠 윈도우에서는 여러분의 게임이 색상 관리와 톤 매핑 API인 AdvancedColorInfo 색 공간 API로 HDR을 달성할 겁니다 IDXGISwapChain의 타이밍과 피드백 기능을 사용하여 SDR과 HDR 콘텐츠의 속도를 조절할 수도 있죠 CAMetalLayer의 EDR 지원을 통해 고급 디스플레이 기능을 사용할 수 있습니다 HDR과 톤 매핑 로직을 쉽게 움직일 수 있고 부동소수점이나 10비트 정수 범위여도 상관없고 HDR10이나 PQ10 셰이더도 상관없죠 CAMetalDisplayLink API는 파인 그레인드 컨트롤을 통해 입력과 디스플레이의 레이턴시를 최소화할 수 있습니다 Metal 렌더링의 EDR 지원에 관한 영상을 확인해 보세요 'iOS에서 EDR 탐험하기'는 픽셀 형식에 관해 되짚어 주고 macOS와 iOS에서 일관되게 사용 가능한 Metal API를 다루죠 'EDR로 HDR 렌더링 탐험하기'는 EDR API와 성능을 최대한 활용하는 기반을 마련할 수 있는 세션입니다 Apple Silicon Mac 플랫폼은 게임을 Mac으로 가져올 수 있는 소프트웨어와 하드웨어 기능을 가지고 있죠 Game Porting Toolkit과 Metal 셰이더 컨버터로 게임을 Mac으로 가져오는 게 어느 때보다 쉽습니다 2부 '셰이더 컴파일하기'와 3부 'Metal로 렌더링하기'도 계속 시청하세요 어서 여러분이 만든 Mac 게임을 해 보고 싶습니다 ♪ ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.