지능형 전송: 장치 지정자
장치 지정자는 설치 청크의 콘텐츠를 적용할 수 있는 Xbox One 패밀리 콘솔 및 Xbox Series 콘솔을 선언합니다. 장치 지정자를 사용하면 해당 세대에 대한 최고 엔드 콘솔을 사용하지 않는 사용자에 대한 불필요한 다운로드를 일으키지 않으면서 콘솔 세대에서 가능한 가장 높은 충실도의 경험을 제공할 수 있습니다. Xbox One 장치 패밀리에서 HDR 그래픽과 같은 일부 콘텐츠를 Xbox One X 장치에서만 다운로드해야 하는 청크로 표시할 수 있습니다. 이렇게 하면 Xbox One과 Xbox One S 사용자가 해당 장치에서 지원되지 않는 HDR 자산을 포함하지 않는 보다 효율적인 다운로드를 사용할 수 있습니다. 일부 콘텐츠는 두 본체 공통적으로 적용됩니다. 예를 들어 오디오 자산은 타이틀이 실행되는 장치에 관계없이 동일할 수 있습니다. 해당 자산을 포함하는 청크에는 장치 지정자가 없습니다.
장치 지정자를 사용하면 다음과 같은 시나리오가 가능합니다.
콘솔의 전체 Xbox 제품군에서 장치에 대한 새 타이틀을 출시할 때 콘솔 제품군의 상위 장치에만 필요한 콘텐츠를 선언할 수 있습니다. 장치 지정자가 없는 콘텐츠는 모든 본체에 설치됩니다. 자세한 내용은 새 타이틀에 대한 포장 설계 섹션을 참조하십시오.
더 높은 충실도 자산으로 새 청크를 추가하면 기존 타이틀을 업데이트하여 Xbox One X 또는 Xbox Series X 장치에서 더 높은 해상도를 지원할 수 있습니다. 이러한 새 청크를 올바른 장치 지정자로 표시하면 Xbox One, Xbox One S 또는 Xbox Series S 콘솔에 이미 타이틀이 설치된 게이머는 부정적인 영향을 받지 않습니다. 자세한 내용은 Xbox One X 또는 Anaconda 장치에 대해서만 자산을 지정하는 것에 관한 섹션을 참조하십시오.
특수한 장치별 자산을 사용하여 같은 세대의 여러 장치에서 실행되는 새로운 타이틀에 대한 포장 설계
Xbox One, Xbox One S 및 Xbox One X 장치 또는 Xbox Series S 및 Xbox Series X 장치에서 동시에 제공되는 새 타이틀은 지능형 전송을 사용하여 특정 콘텐츠가 있는 특정 장치 유형을 대상으로 지정할 수 있습니다. 자산 대상 지정에는 두 가지 일반적인 전략이 있습니다.
특정 콘텐츠를 각 장치 클래스에 맞게 세부 조정
자산의 대상을 다른 장치로 설정하는 한 가지 전략은 특정 콘텐츠를 같은 세대의 각 장치에 맞게 세부 조정하는 것입니다. 이 시나리오에서 타이틀은 장치별 자산을 특정 장치에 대한 청크로 패키지화합니다.
참고 항목
복제본이 들어 있는 청크 중 하나만이라도 언제든지 설치할 수 있다면 청크 사이에서 파일 이름과 경로를 복제할 수 없습니다. 특정 폴더에 모든 상위 해상도 자산을 그룹화하는 것과 같이 파일을 폴더명에 따라 청크로 그룹화하거나, 파일명에 "_sco" 또는 "_ana"를 추가하는 것과 같이 타이틀이 파일을 구분할 수 있도록 파일명을 수정할 것을 권장합니다.
layout.xml 파일의 다음 예제 세그먼트는 다른 장치를 대상으로 하는 청크 두 개를 선언합니다. 설치 시 시스템은 하드웨어 장치 유형에 따라 청크 2001과 청크 2002 중에서 무엇을 설치할지 결정합니다.
Xbox One 세대의 경우:
<Chunk Id="2001" Devices="Xbox-Durango">
<FileGroup DestinationPath="\Data\Maps\XboxOneOnly\LightMaps" SourcePath="Y:\Maps\Level1\XboxOneOnly\LightMaps" Include="*.map"/>
<Chunk>
<Chunk Id="2002" Devices="Xbox-Scorpio">
<FileGroup DestinationPath="\Data\Maps\Scorpio\HiResLightMaps" SourcePath="Y:\Maps\Level1\Scorpio\HiResLightMaps" Include="*.map"/>
<Chunk>
Lockhart 및 Anaconda 장치의 경우:
<Chunk Id="2001" Devices="Xbox-Lockhart">
<FileGroup DestinationPath="\Data\Maps\LockhartOnly\LightMaps" SourcePath="Y:\Maps\Level1\LockhartOnly\LightMaps" Include="*.map"/>
<Chunk>
<Chunk Id="2002" Devices="Xbox-Anaconda">
<FileGroup DestinationPath="\Data\Maps\Anaconda\HiResLightMaps" SourcePath="Y:\Maps\Level1\Anaconda\HiResLightMaps" Include="*.map"/>
<Chunk>
장치 유형 얻기
런타임 시 타이틀은 XSystemGetDeviceType 메서드를 사용하여 타이틀이 실행 중인 장치를 확인하고, 이 정보를 기반으로 적절한 자산 세트를 사용해야 합니다.
#include <XSystem.h>
XSystemDeviceType deviceType = XSystemGetDeviceType();
switch (deviceType)
{
case XSystemDeviceType::Pc: ... break;
case XSystemDeviceType::XboxOne: ... break; //Xbox-Durango device specifier tag
case XSystemDeviceType::XboxOneS: ... break; //Xbox-Durango device specifier tag
case XSystemDeviceType::XboxOneX: ... break; //Xbox-Scorpio device specifier tag
case XSystemDeviceType::XboxOneXDevkit: ... break;
case XSystemDeviceType::XboxScarlettLockhart: ... break; //Xbox-Lockhart device specifier tag
case XSystemDeviceType::XboxScarlettAnaconda: ... break; //Xbox-Anaconda device specifier tag
case XSystemDeviceType::XboxScarlettDevkit: ... break;
case XSystemDeviceType::Unknown: ... break;
}
소매판매용 콘솔에 대한 XSystemGetDeviceType 값은 layout .xml 파일에서 사용할 장치 지정자 태그에 해당합니다. Xbox-Durango는 Xbox One과 Xbox One S에 대한 장치 지정자 태그라는 것을 유념합니다.
장치 지정자 태그 | XSystemDeviceType |
---|---|
Xbox-Durango | Xbox One Xbox One S |
Xbox-Scorpio | Xbox One X |
Xbox-Lockhart | Xbox Series S |
Xbox-Anaconda | Xbox 시리즈 X |
장치 지정자 태그는 layout .xml 파일에서 사용할 값입니다.
Xbox One X 관련 또는 Anaconda 관련 자산 선언
특정 장치를 대상 지정하는 두 번째 전략은 지정된 세대의 특정 본체 장치에만 설치되는 추가 자산을 선언하는 것입니다. 이 시나리오에서 두 본체에 공통으로 적용되는 모든 자산은 장치 지정자가 없는 청크에 배치됩니다. Xbox One X 관련 또는 Anaconda 관련 자산은 자체 청크에 배치됩니다.
Xbox One X 또는 Anaconda 장치용 자산만 지정
특정 장치 전용인 자산을 타이틀에 추가하려면, 해당 장치에만 적용되는 자산을 파악하여 layout.xml 파일의 새 청크로 분리한 다음 Xbox-Durango 또는 Xbox-Anaconda 장치 지정자를 적용합니다. 이 방법은 다음 예제 모음에서 확인할 수 있습니다.
Xbox One 세대
<Chunk Id="2002" Devices="Xbox-Scorpio">
<FileGroup DestinationPath="\Data\Maps\Scorpio\HiResLightMaps" SourcePath="Y:\Maps\Level1\Scorpio\HiResLightMaps" Include="*.dat"/>
<Chunk>
Xbox Series X|S 세대
<Chunk Id="2002" Devices="Xbox-Anaconda">
<FileGroup DestinationPath="\Data\Maps\Anaconda\HiResLightMaps" SourcePath="Y:\Maps\Level1\Anaconda\HiResLightMaps" Include="*.dat"/>
<Chunk>