创建光盘子集

本主题介绍如何创建包含游戏内容的子集的光盘, (也称为 光盘子集) 使其适合一张光盘。

游戏包通常大于适用于 50 GB 的 Blu-ray 光盘。若要使大型游戏在光盘上可用,必须将游戏放在多个光盘上 (查看 多光盘功能 ,或者将游戏剪裁到内容的子集,使其适合一张光盘。

使用 Exclude 属性排除游戏中的内容

可以使用传递给 splitpkg的子集文件中的 Exclude .xml 属性来创建内容的子集。 使用 Exclude 排除设备、功能、标记或语言。 例如,你的游戏可能有单玩家市场活动和多人在线游戏的部分。 你可能已在使用智能交付来提供市场活动和多人游戏功能。 对于光盘,你可能决定仅提供市场活动功能。 可以创建排除多人游戏功能的游戏光盘,如以下示例所示。

<Packages>
  <Package Name="GameDisc" MaxDiscs="1">
    <Exclude Features="Multiplayer" />
  </Package>
</Packages>

安装此游戏光盘后,它没有多人游戏功能的内容。

注意

如果游戏稍后收到更新 (或者在安装游戏光盘) 时安装更新,则从 Xbox 内容分发网络下载多人游戏功能。

从游戏中删除内容

可以通过从游戏中删除内容来减小游戏光盘的大小。 例如,你可能同时具有“市场活动”和“多人游戏”功能,但它们各具有可选的 4K 资产。 可以将区块声明为需要多个标记,方法是使用 分隔它们 # ,如以下示例所示。

<Features>
  <Feature Id="Campaign" DisplayName="Campaign" Tags="Campaign;4kAssets"
  <Feature Id="Multiplayer" DisplayName="Multiplayer" Tags="Multiplayer;4kAssets"
</Features>
 
<Chunk Id="1" Tags="Campaign" />
<Chunk Id="2" Tags="Campaign#4kAssets" Devices="Xbox-Scarlett" />
<Chunk Id="3" Tags="Multiplayer" />
<Chunk Id="4" Tags="Multiplayer#4kAssets" Devices="Xbox-Scarlett" />

此处,区块 2 仅下载到Xbox Series X|S主机,并且仅当同时Campaign指定 和 4kAssets 时才下载。 创建光盘子集文件时, 4kAssets 所有文件都可以从游戏光盘中排除,如以下示例所示。

<Packages>
  <Package Name="GameDisc" MaxDiscs="1">
    <Exclude Tags="4kAssets" />
  </Package>
</Packages>

使用此类标记的另一种方法是为游戏光盘上不需要的所有区块定义标记,如以下示例所示。

<Features>
  <Feature Id="Campaign" DisplayName="Campaign" Tags="Campaign"
  <Feature Id="Multiplayer" DisplayName="Multiplayer" Tags="Multiplayer"
  <Feature Id="Default" Tags="OmitFromDisc" Hidden="true"
</Features>
 
<Recipes>
  <Recipe Id="Default" IncludedFeatures="Default" />
</Recipes>
 
<Chunk Id="1" Tags="Campaign" />
<Chunk Id="2" Tags="Multiplayer" />
<Chunk Id="3" Tags="OmitFromDisc" />
<Chunk Id="4" Tags="OmitFromDisc" />

在这里,任何带有 OmitFromDisc 标记的区块都会添加到默认始终包含的默认功能中。 (这是因为有一个方案包含的功能 ID 没有Microsoft Store ID 元素) 。 创建此子集 .xml 文件 splitpkg 可防止任何 OmitFromDisc 区块成为游戏光盘的一部分,如以下示例所示。

<Packages>
  <Package Name="GameDisc" MaxDiscs="1">
    <Exclude Tags="OmitFromDisc" />
  </Package>
</Packages>