项目上传器示例允许您轻松地从本地磁盘批量创建资源到资源管理器。此示例根据几个输入来批量创建资源,以匹配您的文件组织方式。
开始之前
在将资源从 Python SDK 上传到资源管理器之前,请确保您满足以下先决条件
- 项目级别的资源管理器贡献者角色或组织所有者角色。有关角色的更多信息,请参阅 角色和权限。
- 一个用于上传资源的云项目。有关如何在 Unity 云上创建新项目的更多信息,请参阅 创建新项目。
- 如果您是授权组织(即拥有 Pro 或 Enterprise 许可证的组织)的一部分,则需要分配一个席位。有关更多信息,请参阅 重要 说明部分。
- 最新版本的 Unity Cloud Python SDK,有关更多信息,请参阅 开始 使用 Python SDK。
运行示例
要运行示例,请按照以下步骤操作
- 安装轮文件,您可以按照 此处 的说明进行操作。
- 解压示例
- 在终端中输入
pip show unity_cloud
以找到示例。 - 将显示 SDK 的位置,类似于以下位置:
/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
- 示例名为 Project upload,可以在 Unity Cloud SDK 的 samples 文件夹中找到。路径类似于以下路径
/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/unity_cloud/samples/project_uploader
- 在终端中输入
- 在 project_uploader 文件夹中,您可以找到并更新
config.json
文件,其中包含您的项目信息。 - 配置
config.json
文件。请参阅下面的“输入方法”和“参数”部分。 - 运行
project_uploader.py
脚本。资源已创建,您可以在仪表板上查看它们。
输入方法
以下是三种不同的批量创建资源方法
- 资源方法:每个资源类型(如纹理、模型、脚本等)都有一个特定文件夹。
- 功能方法:每个游戏玩法概念(如角色、交互对象等)都有一个文件夹。
- Unity 包方法:从 Unity 编辑器将资源导出为包,并将它们的内容上传到资源管理器,同时保留依赖项。
参数
您可以配置以下参数
参数 | 描述 | 要求 |
---|---|---|
assetsRootFolder | 写入包含所有资源的 Unity 项目目录。在 Windows 上,使用反斜杠时需要使用另一个反斜杠进行转义,例如 C:\directory。在 Mac 上,单个斜杠 / 可以正常工作。 | 必需 |
organizationId | 标识包含项目的组织。 | 必需 |
projectId | 标识包含资源的项目。 | 必需 |
strategy | 指示输入方法的类型,是使用资源、功能还是 Unity 包。 | 必需 |
filesCommonToEveryAssets | 在 JSON 数组中列出所有将作为公共文件上传到每个资源的文件。例如,在整个项目中使用的材质或纹理。如果没有,您可以将数组留空或删除配置中的此条目。您不需要在此条目中列出元文件,因为 includeMetaFiles 配置会完成此操作。 | 可选 |
assetFileExtensions | 列出脚本需要查找并上传到资源的所有文件扩展名。将 meta 添加到此列表中,即使将 includeMetaFiles 设置为 | 可选 |
includeMetaFiles | 当您将其设置为 | 可选 |
collectionToLinkAssetTo | 当您将其设置为 | 可选 |
tagsToApplyToAssets | 这是一个 JSON 数组,其中包含要应用于创建的资源的所有标签的字符串。 | 可选 |
assetNameCaseSensitive | 当您将其设置为 | 可选 |
serviceAccount | 它包含要用于登录的服务帐户的密钥 ID 和密钥。如果任何条目为空或您删除了 serviceAccount 条目,则脚本将使用个人登录。 | 可选 |
publish | 当您将其设置为 | 可选 |
metadataToApply | 编写为有效的 JSON 对象或字典,元数据将应用于每个创建的资源。字段定义必须事先存在。 | 可选 |
updateFiles | 当您将其设置为 | 可选 |