> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 创建光盘子集

> 创建光盘子集

本文介绍如何创建一张仅包含游戏部分内容的光盘(也称为 *光盘子集(disc subsetting)*),以便让其能装入一张光盘。

游戏包通常大于 50 GB 蓝光光盘所能容纳的容量。要让大型游戏以光盘形式发行,你必须要么将游戏放在多张光盘上(参见 [多光盘功能](/build/core-features/common/packaging/packaging-multi-disc)),要么将游戏精简为内容的一个子集,以便装入一张光盘。

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

你可以在传递给 `splitpkg` 的子集 .xml 文件中使用 `Exclude` 属性来创建内容的子集。使用 `Exclude` 可以排除设备、功能、标签或语言。例如,你的游戏可能同时包含单人战役和联网多人对战部分。你可能已经通过智能交付提供 Campaign 和 Multiplayer 这两种功能。对于光盘,你可能决定只提供 Campaign 功能。你可以按如下示例创建一张排除了 Multiplayer 功能的游戏光盘。

```XML theme={null}
<Packages>
  <Package Name="GameDisc" MaxDiscs="1">
    <Exclude Features="Multiplayer" />
  </Package>
</Packages>
```

当安装此游戏光盘时,它不包含 Multiplayer 功能的内容。

<Note>如果之后游戏收到更新(或者在安装游戏光盘时已同时安装了更新),Multiplayer 功能将从 XBOX 内容分发网络下载。</Note>

## 从游戏中移除内容

你可以通过从游戏中移除内容来缩小游戏光盘的体积。例如,你可能同时拥有 Campaign 和 Multiplayer 功能,但它们也各自具有可选的 4K 资源。你可以将区块声明为需要多个标签,标签之间用 `#` 分隔,如下例所示。

```XML theme={null}
<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" />
```

这里,chunk 2 只会下载到 XBOX Series X|S 主机上,并且仅当同时指定了 `Campaign` 和 `4kAssets` 时。创建光盘子集文件时,可以将所有 `4kAssets` 从游戏光盘中排除,如下例所示。

```XML theme={null}
<Packages>
  <Package Name="GameDisc" MaxDiscs="1">
    <Exclude Tags="4kAssets" />
  </Package>
</Packages>
```

另一种使用此类标签的方式是,为所有不想放到游戏光盘上的区块定义一个标签,如下例所示。

```XML theme={null}
<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` 标签的区块都会被加入默认功能,而该功能默认始终被包含。(这是因为有一个 recipe 包含了该功能 ID,而它没有 Microsoft Store ID 元素。)为 `splitpkg` 创建此子集 .xml 文件可防止任何 `OmitFromDisc` 区块成为游戏光盘的一部分,如下例所示。

```XML theme={null}
<Packages>
  <Package Name="GameDisc" MaxDiscs="1">
    <Exclude Tags="OmitFromDisc" />
  </Package>
</Packages>
```


## Related topics

- [Intelligent Delivery](/zh-CN/build/core-features/common/packaging/overviews/intelligentdelivery.md)
- [XBOX GDK 游戏的打包与部署](/zh-CN/build/core-features/common/packaging/index.md)
- [创建光盘](/zh-CN/build/core-features/common/packaging/creating-discs.md)
- [创建测试光盘](/zh-CN/build/core-features/common/packaging/creating-test-compilation-discs.md)
- [跨代测试光盘概述](/zh-CN/build/core-features/common/packaging/creating-cross-gen-test-discs.md)
