# 那些Unity中名不见经传的包


{{< progress 100 blue "该文章长期更新" >}}

在使用 Unity 进行项目开发时，除了软件自带的标准包，我们常常需要借助一些更专业的第三方包来提升开发效率、实现特定功能或优化工作流。Unity 的 Package Manager 虽然强大，但有些官方验证（Verified）或第三方（Third-party）的包并不会直接显示在列表中，需要我们知道正确的名称或 URL 才能导入。

本文将介绍几个在开发中极其常用，但需要一些"特殊技巧"才能导入的包，并详细说明它们的作用、解决的问题以及导入方法。

---

# 1. Newtonsoft.Json (Json.NET)

Newtonsoft.Json，也被称为 Json.NET，是 .NET 生态中事实上的 JSON 标准库。它比 Unity 自带的 `JsonUtility` 功能更强大、更灵活。

## 应用与解决的问题

- **功能强大**：支持序列化和反序列化复杂对象（如字典、多态类、私有字段等），而 `JsonUtility` 在这方面限制很多。
- **高度可定制**：提供了大量的属性（如 `[JsonProperty]`） 和设置来精确控制 JSON 的输入和输出格式。
- **性能优异**：在大多数场景下，其性能都优于 Unity 内置的解决方案。

**它能解决什么问题？**  
当你需要与 Web API 交互、读取复杂的配置文件、保存包含丰富数据结构的游戏存档时，`JsonUtility` 往往会力不从心，而 Json.NET 则是你的不二之选。

## 如何导入

这个包需要通过 **Git URL** 的方式导入。

1.  打开 Unity，导航到 `Window > Package Manager`。
2.  点击左上角的 **"+"** 按钮，选择 **"Add package from git URL..."**。
3.  在弹出的输入框中，填入以下 URL：  
    `https://github.com/jilleJr/Newtonsoft.Json-for-Unity.git#upm`
4.  点击 **"Add"**。Unity 便会开始从该 Git 仓库下载并安装包。

> **注意**：请务必使用上述专门的 `Newtonsoft.Json-for-Unity` 仓库，而不是官方源。这个版本解决了 Unity 与 .NET Standard / .NET Framework 的兼容性问题。

---

# 2. Cinemachine

Cinemachine 是一套基于组件的相机系统，堪称 **"智能相机工具包"**。它现在虽然是官方包，但在旧版或某些项目设置中可能需要手动添加。

## 应用与解决的问题

- **无需编码**：通过组合各种虚拟相机（Virtual Camera）和扩展组件，可以创造出复杂、影院级的相机运动效果，而无需编写复杂的相机控制代码。
- **智能切换**：可以在多个虚拟相机之间实现平滑、无感的过渡（例如，从跟随相机切换到过场动画相机）。
- **高级功能**：内置噪声模拟、镜头抖动、作曲规则（Rule-based Composing）等功能。

**它能解决什么问题？**  
手动编写相机逻辑非常繁琐且难以维护。Cinemachine 完美解决了相机跟踪、视角切换、镜头抖动等常见需求，让开发者能专注于游戏设计本身。

## 如何导入

Cinemachine 是官方验证包，可以直接在 Package Manager 中找到。

1.  打开 `Window > Package Manager`。
2.  点击左上角的 **"+"** 按钮，选择 **"Add package by name..."**。
3.  在输入框中输入 `com.unity.cinemachine`，然后点击 **"Add"**。
4.  或者，在包管理器窗口顶部，将 **"Packages: Unity Registry"** 切换到 **"Packages: Unity Registry"**，然后在列表中找到 **Cinemachine** 并点击安装。

---

# 3. GLTFast

`com.unity.cloud.gltfast` 是一个用于在 Unity 中**高速导入和导出 glTF 3D 模型**的包。glTF 是一种日益流行的开放标准 3D 模型格式（被称为"3D 界的 JPEG"）。

## 应用与解决的问题

- **极速加载**：相较于 Unity 传统的 `.fbx` 导入方式，GLTFast 专注于运行时和编辑器下的高效 glTF 文件加载，速度更快。
- **格式开放**：完美支持 `.gltf` 和 `.glb` 文件，适合需要动态下载和显示 3D 模型的在线应用、AR/VR 项目。
- **功能完整**：支持基于 Draco 压缩的模型、材质、动画等。

**它能解决什么问题？**  
当你需要从网络动态加载 3D 模型，或者你的美术流水线主要使用 glTF 格式时，使用这个包可以避免繁琐的格式转换，并实现更高效的运行时加载。

## 如何导入

这是一个官方发布的包，可以通过名称导入。

1.  打开 `Window > Package Manager`。
2.  点击左上角的 **"+"** 按钮，选择 **"Add package by name..."**。
3.  在输入框中输入 `com.unity.cloud.gltfast`，然后点击 **"Add"**。

---

# 4. (Bonus) ParrelSync

虽然不完全是"包"，但它是一个必须通过 Git URL 安装的神器。**ParrelSync** 是一个用于实现**同一项目多开**的工具，主要用于模拟多人联机测试。

## 应用与解决的问题

- **本地多人测试**：无需构建项目，即可在编辑器中同时打开多个项目副本，模拟客户端-服务器或多玩家环境。
- **提升测试效率**：极大简化了需要网络同步功能的游戏的测试流程。

## 如何导入

同样通过 Git URL 安装。

1.  打开 `Window > Package Manager`。
2.  点击左上角的 **"+"** 按钮，选择 **"Add package from git URL..."**。
3.  输入以下 URL：  
    `https://github.com/VeriorPies/ParrelSync.git#upm`
4.  点击 **"Add"**。安装成功后，你可以在菜单栏 `Tools > ParrelSync` 中找到它。

---

# 总结

熟练掌握 Package Manager 的多种导入方式是成为一名高效 Unity 开发者的必备技能。

| 包名                | 用途                        | 导入方式                               |
| :------------------ | :-------------------------- | :------------------------------------- |
| **Newtonsoft.Json** | 强大的 JSON 序列化/反序列化 | Git URL                                |
| **Cinemachine**     | 智能相机系统                | 按名称添加 (`com.unity.cinemachine`)   |
| **GLTFast**         | 高速导入/导出 glTF 模型     | 按名称添加 (`com.unity.cloud.gltfast`) |
| **ParrelSync**      | 项目多开以进行本地联机测试  | Git URL                                |

希望这些工具能帮助你更高效地开发下一个 Unity 项目！

