发布您的工作

发布

提供将文件发布至 Shotgun 的用户界面和功能。


开发者:Shotgun Software
最新版本:v0.10.7 (Prod)
我们的版本号遵循语义版本控制标准。
系统名称:tk-multi-publish

概述

本文档介绍仅当控制 Toolkit 配置时可用的功能。有关详细信息,请参见 Shotgun 集成用户手册。多发布是一个工作流应用,美工人员可以使用它向 Shotgun 发布文件。该应用提供了一个建立在高度可自定义核心上的简单 UI,可轻松对其进行配置以发布工作场景及其从属项(例如 Maya 场景、Nuke 脚本、OBJ、Alembic 缓存、摄影机、纹理等)中的文件或数据的任何组合。多发布应用用于所有默认配置中,可以轻松进行配置以支持以下各种工作流:在 Maya 中生成 Alembic 缓存、在 Nuke 中渲染发布、在 Photoshop 中进行美术参照管理或在 Shotgun 和 Shell 环境中进行图版插入。

文档

本文档介绍仅当控制 Toolkit 配置时可用的功能。有关详细信息,请参见 Shotgun 集成用户手册

主界面分为三个主要部分:

  • 主输出。要发布的内容项按其输出类型进行组织整理,主输出显示在用户界面顶部的显眼位置。主输出要发布的内容项只能有一个,通常是场景文件本身。

  • 辅助输出。辅助输出是可选的,并且根据需要可有任意多个。如果需要,场景中的内容项(例如 Maya 中的网格)还可与多个辅助输出关联(例如,OBJ 导出和 Alembic 缓存导出)。

  • 发布详细信息。除了选择要发布的内容项,界面还允许美工人员选择 Shotgun 任务(如果他们尚未在当前工作区中指定任务的话),捕捉缩略图和添加注释。

使用此应用时,美工人员的工作流程通常为:

  1. 启动该应用,选择要发布的内容项,选择 Shotgun 任务,设置缩略图,输入注释,然后单击“Publish”。
  2. 应用将对选定项执行一次发布前验证。
  3. 如果有任何问题,会询问是否继续。如果不继续,应用将停止并显示问题,待美工人员修复问题后再继续。
  4. 如果没有问题,或者美工人员指示应用忽略问题,它将从主内容项开始,发布所有选定项。
  5. 主内容项成功发布后,应用将运行发布后步骤完成发布。通常,此步骤用于升级当前场景的版本并进行任何清理工作。
  6. 最后将显示发布结果(成功或失败),以及发布步骤报告的任何问题。

自定义多发布

多发布应用将所有关键步骤实现为一系列挂钩,在设计上具有极强的可配置性。除了将应用的所有特定于插件的调用分离出来,让您更容易配置新插件,这些挂钩还提供对发布过程的完整控制。

下面是共同构成整个发布工作流的主要挂钩:

  • hook_scan_scene 用来扫描当前场景中要发布的内容项。它将返回一个主内容项和任意多个辅助内容项。
  • hook_primary_pre_publish 通常用来验证主内容项是否可以发布。此挂钩可返回一个不会导致发布停止的非致命问题列表。
  • hook_secondary_pre_publish 用来验证所有辅助内容项。同样,此挂钩可返回一个问题列表,用户有机会修复这些问题,然后再继续。
  • hook_primary_publish 将发布主内容项以生成主输出。通常,此挂钩用来将当前场景文件复制到发布区,并向 Shotgun 注册场景文件。它会返回已发布文件的完整路径,然后将该路径作为依赖项传递给辅助发布挂钩。此挂钩如果出现异常,将导致发布停止,并通知用户。
  • hook_secondary_publish 发布辅助内容项以生成辅助输出。同样,此挂钩通常会导出或复制发布的文件,然后向 Shotgun 注册这些文件。
  • hook_post_publish 是发布工作流中的最后一个挂钩,可在发布结束时执行清理工作。在默认挂钩中,将在这里升级场景版本。仅当主发布成功且无任何异常时,才会运行此挂钩。

我们可以使用下面这些附加的挂钩来自定义应用的行为。

  • hook_thumbnail 可在不适合进行屏幕截图的情况下用来为发布提供缩略图。如果此挂钩返回的是缩略图的文件路径,则表示屏幕截图功能已禁用。
  • hook_copy_file 用来执行应用进行的任何基于磁盘的文件复制操作。默认挂钩在应用上使用一个实用程序方法,后者进而调用此挂钩。要执行此操作,请从挂钩内调用 self.parent.copy_file(...)

输出和内容项

我们需要了解配置中定义的输出与扫描场景挂钩返回的内容项之间的关系,这一点非常重要。

每个输出具有一个 scene_item_type 属性,它是配置定义的一个任意字符串。

primary_scene_item_type 必须具有唯一性。多个辅助输出可共享同一个 scene_item_type。例如,如果两个辅助输出“OBJ”和“Alembic Cache”的 scene_item_type 同样都是 geometry,表示场景中的所有几何体内容项应同时发布 OBJ 和 Alembic 缓存文件。

扫描场景挂钩返回的每个内容项都有一个 type,它必须与配置中定义的其中一项输出的 scene_item_type 一致。

应用会根据输出的 scene_item_type 与内容项的 type 之间的映射关系,将内容项列表与输出列表合并在一起,并生成最终列表让用户从中选择要发布的每个输出的内容项。

相关应用和文档

场景快照

本文档介绍仅当控制 Toolkit 配置时可用的功能。有关详细信息,请参见 Shotgun 集成用户手册。Shotgun 快照是快速增量备份,让您可以对您工作中的增加部分进行版本控制和管理,而不会与其他人共享。可创建快照、添加说明和缩略图,并创建一个时间点,您可以在以后随时回到该时间点并进行恢复。如果您要进行重大更改并要确保具有先前版本的场景的备份,这很有用。

Shotgun 工作文件

本文档介绍仅当控制 Toolkit 配置时可用的功能。有关详细信息,请参见 Shotgun 集成用户手册。此应用程序构成了在 Shotgun Pipeline Toolkit 中进行文件管理的基础。它允许您在各种 Shotgun 实体之间快速跳转,并让您快速开始工作。由于该应用程序在后台管理路径,因此无需指定路径。该应用程序会帮助您管理工作区中的工作文件,这样,您可以轻松地与其他人共享您的工作内容。

写入节点

本文档介绍仅当控制 Toolkit 配置时可用的功能。有关详细信息,请参见 Shotgun 集成用户手册。此应用包含一个适用于 Nuke 的自定义写入节点小控件,使用户不必关心文件系统路径,从而只需关注于为特定输出命名。Shotgun 会完成其余操作! 此应用通常与发布应用结合使用,如果您安装了适用于 Nuke 的发布应用,您很可能也想要安装此应用!

从 Maya 发布 Alembic

本教程介绍了如何配置多发布,以在从 Maya 发布多组几何体时导出 Alembic 文件。

Toolkit Pipeline 教程

此文档提供了分步教程,指导技术总监 (TD) 使用 Toolkit 以高级方式设置简单的端到端工作流。完成本教程的新 Toolkit 用户将了解平台的基本方面,以及如何根据其工作室的特定需求对平台进行自定义。该教程还介绍了现有 Toolkit 应用,以及如何在美工人员工作流中将它们配合使用。
请注意,本文档介绍仅当控制 Toolkit 配置时可用的功能。有关详细信息,请参见 Shotgun 集成用户手册

安装和更新

将此应用添加到 Shotgun Pipeline Toolkit

如果您想将此应用添加到 Project XYZ 中,请在名为 asset 的环境中执行以下命令:

> tank Project XYZ install_app asset tk-maya tk-multi-publish

更新至最新版本

如果您已在某个项目中安装了此应用,要获取最新版本,可运行 update 命令。您可以导航到该特定项目随附的 tank 命令,并在该项目中运行它:

> cd /my_tank_configs/project_xyz
> ./tank updates

或者,也可以运行您的工作室的 tank 命令并指定项目名称,指示该命令要对哪个项目运行更新检查:

> tank Project XYZ updates

协作和代码演进

如果您可以获取 Shotgun Pipeline Toolkit,意味着也可以获取我们在 GitHub 中存储和管理的所有应用、插件和框架的源代码。欢迎根据实际需要演进和完善这些内容,以它们为基础做进一步的独立开发,修改它们(以及向我们提交 Pull 请求!),或者只是随手玩一玩,简单了解它们的构建方式和 Toolkit 的工作原理。您可以通过以下网址访问此代码库:https://github.com/shotgunsoftware/tk-multi-publish

特殊要求

  • 需要安装 Shotgun Pipeline Toolkit 核心 API 版本 v0.14.58 或更高版本才能使用此功能。

配置

下面是使用的所有配置设置的摘要。您需要在要启用此应用或插件的环境文件中定义这些设置。

hook_primary_publish

类型:hook

默认值:primary_publish

说明:指定实际要执行主任务发布的挂钩。要发布的主任务将传递给此挂钩。此挂钩将负责整个发布过程,并确保向 Shotgun 注册发布内容。

hook_post_publish

类型:hook

默认值:post_publish

说明:指定用于执行任何发布后工作的挂钩。通常,此挂钩将负责将场景的版本升级到最新版本。

display_name

类型:str

默认值:Publish

说明:指定在菜单和主发布对话框中使用的名称。

primary_display_name

类型:str

默认值:Current Work File

说明:指定主输出在用户界面中的名称。

secondary_outputs

类型:list

说明:无说明!

primary_scene_item_type

类型:str

默认值:work_file

说明:这是用来将扫描挂钩返回的内容项与主输出进行匹配的类型。

allow_taskless_publishes

类型:bool

默认值:True

说明:允许在未指定任务的情况下进行发布!发布将只会链接至当前工作区的实体。

hook_copy_file

类型:hook

默认值:copy_file

说明:指定一个挂钩,将文件“source_path”复制到“target_path”。此挂钩用在“copy_file”实用工具函数中,通过从挂钩内调用 self.parent.copy_file(source_path, target_path, task),可以从其他挂钩访问此挂钩。

primary_publish_template

类型:template

说明:此模板用于在文件系统内定位主发布文件。如果设置为 None,则必须在发布挂钩内确定此项。

primary_tank_type

类型:tank_type

说明:这是向 Shotgun 注册主发布文件时要使用的类型。如果不设置,则必须在发布挂钩内确定此项。

template_work

类型:template

说明:引用一个模板,在磁盘上定位工作文件。

hook_primary_pre_publish

类型:hook

默认值:primary_pre_publish

说明:指定将在主发布前运行的挂钩。我们可以使用此挂钩对传入的主任务执行任何验证,以确保任务已做好发布准备。

hook_scan_scene

类型:hook

默认值:scan_scene_{engine_name}

说明:指定一个挂钩,用于扫描要发布的内容项。此挂钩应返回一个词典列表,其中的词典代表要发布的内容项。

primary_icon

类型:config_path

说明:这是主输出在用户界面中使用的图标。

expand_single_items

类型:bool

说明:定义当只有一个内容项时,是否可展开输出并显示它所包含的内容项。

hook_thumbnail

类型:hook

默认值:thumbnail

说明:指定一个挂钩,用于为发布预先生成缩略图。

hook_secondary_publish

类型:hook

默认值:secondary_publish_{engine_name}

说明:指定用于执行发布的挂钩。要发布的辅助任务列表将传递给此挂钩。此挂钩将负责整个发布过程,并确保向 Shotgun 注册发布的文件。

hook_secondary_pre_publish

类型:hook

默认值:secondary_pre_publish_{engine_name}

说明:指定将在发布前运行的挂钩。我们可以使用此挂钩对传入的辅助任务执行任何验证,以确保这些任务已做好发布准备。

primary_description

类型:str

默认值:Publish and version up the current work file

说明:这是在用户界面中使用的主输出说明。

关注

0 评论

登录写评论。