![]() |
Shotgun Workfiles使用此应用,您可以浏览、打开和保存您的工作文件和发布。 |

文档
“File Open”对话框
在工作区中导航
查找文件
访问先前版本
用户沙盒
缩小结果
“File Save”对话框
在不同上下文中保存文件
添加文件扩展名下拉列表
“Change Context”对话框
工序过滤
延迟查询
已知问题
安装、更新和开发
配置选项
此应用程序构成了在 Shotgun Pipeline Toolkit 中进行文件管理的基础。它允许您在各种 Shotgun 实体之间快速跳转,并让您快速开始工作。由于该应用程序在后台管理路径,因此无需指定路径。该应用程序会帮助您管理工作区中的工作文件,这样,您可以轻松地与其他人共享您的工作内容。
文档
“File Open”对话框
在工作区中导航

主对话框分为两个部分。左侧是一系列选项卡。第一个选项卡名为“我的任务”(My Tasks),显示分配给当前用户的所有任务。这个选项卡非常像 Shotgun 网站上的“我的任务”(My Tasks)页面。
另外,用户也可以使用实体选项卡浏览 Shotgun 实体。默认情况下,工作文件应用程序让用户可通过查看相应的选项卡,浏览与镜头或资产关联的任何任务。
整套选项卡全部可通过环境文件中的 entities
设置进行配置。
您可以通过在应用设置中设置 show_file_open: true/false
来禁用/启用此对话框。
查找文件

在右侧,您将看到与左侧选择的内容关联的工作文件和发布。使用“所有”(All)、“工作”(Working)和“发布”(Publishes)选项卡,可以一起或单独查看工作文件和发布。
访问先前版本

有两种方式可以访问先前版本。首先,用户可单击浏览器顶部的“所有版本”(All Versions)方框,这将展开版本并在浏览器中单独列出所有版本。另一个方法是在文件上单击鼠标右键,这样可以访问前 10 个版本。
用户沙盒

如果您的工作流配置使用了用户沙盒,默认情况下将只会看到当前用户的文件。如果用户想查看其他用户沙盒中的文件,可以使用顶部的按钮选取要显示哪个沙盒中的文件。
缩小结果

您可以通过键入文字来缩小任何视图中的结果。搜索将匹配任意项的名称。
“File Save”对话框
默认情况下,“File Save”对话框让用户可在当前上下文中保存文件。应用程序将提示用户输入场景名称、版本号以及可选的文件扩展名(如果有的话),此时“保存”(Save)按钮将灰显。仅当应用程序确认了场景名称的下一个可用版本号时,右下角的“保存”(Save)按钮才会启用。
您可以通过在应用设置中设置 show_file_save: true/false
来禁用/启用此对话框。
在不同的上下文中保存文件

要在不同的上下文中保存文件,用户可单击对话框左上角的展开按钮,这将展开“File Save”对话框,让用户选择另一个要保存文件的上下文。
添加文件扩展名下拉列表

使用新的“File Save”对话框,可以选取保存文件的扩展名。要启用此功能,您需要调整工作流配置的 templates.yml
文件。首先,需要在 templates.yml
内的令牌列表中定义一个令牌。
maya_extension: type: str choices: ma: Maya Ascii (.ma) mb: Maya Binary (.mb) default: ma alias: extension
maya_extension
是令牌的名称。choices
是下拉列表中将会显示的文件类型的词典。键(ma
和 mb
)是此模板令牌可以具有的值。值(Maya Ascii (.ma)
和 Maya Binary (.mb)
) 是可供 Toolkit 应用程序使用的用户界面友好的说明。alias
是工作文件应用程序需要的提示。它将告诉应用程序此令牌是一个扩展名,应显示在下拉列表控件中。
然后,可以将此令牌添加到任何 Maya 特定的模板中。
maya_shot_work: definition: '@shot_root/work/maya/{name}.v{version}.{maya_extension}' root_name: 'primary'
“Change Context”对话框

“Change Context”对话框与打开的对话框类似,只是它没有用于在右侧浏览文件的功能。您可以选择任务或实体,然后通过按“Change Context”按钮更改当前插件上下文。
您可以通过在应用设置中设置 show_change_context: true/false
来禁用/启用此对话框。
工序过滤
检索任务时,如果 step
包含在层次结构中,则可以通过工作流工序过滤减少从 Shotgun 检索的数据量:将仅检索链接到选定工序列表的任务。
选项卡中显示的工序列表由 step_filter_on
设置来控制。如果未设置此项,则将显示现有的所有工作流工序。
以下示例定义两个选项卡,分别显示资产的任务和镜头的任务:
- caption: Assets Tasks entity_type: Task step_filter_on: Asset filters: - [entity, type_is, Asset] hierarchy: [entity.Asset.sg_asset_type, entity, step, content] - caption: Shots Tasks entity_type: Task step_filter_on: Shot filters: - [entity, type_is, Shot] hierarchy: [entity.Shot.sg_sequence, entity, step, content]

延迟查询
为了提高性能,构建实体树可以分为两步查询:- 第一个查询用于从 Shotgun 检索记录并填充树顶部。- 另一个查询用于在用户展开树时检索子项。
在使用以下设置的情况下,将在启动应用时从 Shotgun 检索资产和镜头。然后,在树视图中选择或展开特定资产或镜头时,将仅检索链接到此资产或镜头的任务。
entities: - caption: Assets entity_type: Asset hierarchy: [sg_asset_type, code] filters: sub_hierarchy: entity_type: Task filters: link_field: entity hierarchy: [step] - caption: Shots entity_type: Shot filters: hierarchy: [sg_sequence, code] sub_hierarchy: entity_type: Task filters: link_field: entity hierarchy: [step]

已知问题
- 3ds Max 和 MotionBuilder 支持 - 在 Windows 上,这些 DCC 中的文件性能比 Maya 和 Nuke 中速度更慢。
- Perforce/Versionless 文件 - 应用程序仍需经过 Perforce 工作流的测试,很有可能无法正常工作。
相关应用和文档
![]() |
加载器使用 Shotgun 加载器可以快速简要了解和浏览已发布到 Shotgun 的文件。通过一个可搜索的树视图导航系统可以轻松快速地到达您要查找的任务、镜头或资产,之后,加载器显示相应项目的所有发布的缩略图式概况。通过可配置的挂钩,您便可以轻松地在您的当前场景中引用或导入发布。 |
![]() |
发布通过发布应用,美工人员可以发布他们的作品,以便其可供下游的美工人员使用。它支持在艺术家的内容创建软件中以传统方式发布工作流,以及在磁盘上单独发布任何文件。在内容创建软件中操作并使用基本 Shotgun 集成时,该应用将自动发现并显示项目以供艺术家发布。对于较复杂的生产需求,工作室可以编写自定义发布插件来推动美工人员工作流。 |
![]() |
场景快照Shotgun 快照是快速增量备份,让您可以对您工作中的增加部分进行版本控制和管理,而不会与其他人共享。可创建快照、添加说明和缩略图,并创建一个时间点,您可以在以后随时回到该时间点并进行恢复。如果您要进行重大更改并要确保具有先前版本的场景的备份,这很有用。 |
![]() |
Shotgun 工作流教程此文档提供了一个分步教程,指导技术总监 (TD) 使用 Shotgun 集成和 Toolkit 平台设置简单的端到端工作流。本教程的目标是向用户介绍集成和平台的基本方面以及如何构建和自定义基于 Shotgun 的工作流以迎合其工作室的特定需求。 |
安装和更新
将此应用添加到 Shotgun Pipeline Toolkit
如果您想将此应用添加到 Project XYZ 中名为 asset 的环境中,请执行以下命令:
> tank Project XYZ install_app asset tk-maya tk-multi-workfiles2
更新至最新版本
如果您已在某个项目中安装了此应用,要获取最新版本,可运行 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-workfiles2。 |
特殊要求
- 需要安装 Shotgun Pipeline Toolkit 核心 API 版本 v0.19.18 或更高版本才能使用此功能。
配置
下面是所有配置设置参数。您需要在要启用此应用或插件的环境文件中定义这些设置。
launch_at_startup
类型:bool
说明:一个标志,表示是否在应用程序启动时启动用户界面。因为某些平台的启动方式存在差异,所以并非所有的插件都支持此选项。目前,只有 Maya、Nuke 和 3ds Max 支持此选项。
create_new_task_hook
类型:hook
默认值: {self}/create_new_task.py
说明:指定一个挂钩,该挂钩将创建任务并执行任何需要的输入验证。
show_my_tasks
类型:bool
默认值: True
说明:定义“我的任务”(My Tasks)视图是否可见。
file_browser_tabs
类型:list
默认值: [u'All', u'Working', u'Publishes']
说明:主浏览器中显示的选项卡名称的列表。值可以是以下选项卡名称的任意组合:“所有”(All)、“工作”(Working)和“发布”(Publishes)。指定值的顺序可确定选项卡在应用中的顺序。
custom_actions_hook
类型:hook
默认值: {self}/custom_actions.py
说明:此挂钩包含所有自定义的动作方法。
auto_expand_tree
类型:bool
说明:自动展开树视图的根级目录。
show_file_save
类型:bool
默认值: True
说明:用于启用“File Save”对话框的标志。系统提供了一个“File Save”窗口,以便用户将当前工作文件保存到 Toolkit 模板文件夹结构。
saveas_default_name
类型:str
默认值: scene
说明:使用 save-as 命令保存工作文件时使用的默认名称。
saveas_prefer_version_up
类型:bool
说明:控制 save-as 命令如何确定要使用的初始名称。如果设置为 True,将使用当前场景的名称,同时版本号将递增。如果为 False,则使用具有唯一性的新名称,并且版本号将重置。
hook_copy_file
类型:hook
默认值: {self}/copy_file.py
说明:指定一个挂钩,该挂钩将用于将文件“source_path”复制到“target_path”。
entities
类型:list
默认值: [{u'hierarchy': [u'entity.Asset.sg_asset_type', u'entity', u'step', u'content'], u'caption': u'Assets', u'step_filter_on': u'Asset', u'filters': [[u'entity', u'type_is', u'Asset']], u'entity_type': u'Task'}, {u'hierarchy': [u'entity.Shot.sg_sequence', u'entity', u'step', u'content'], u'caption': u'Shots', u'step_filter_on': u'Shot', u'filters': [[u'entity', u'type_is', u'Shot']], u'entity_type': u'Task'}]
说明:此设置定义左侧将会显示的不同选项卡。每个选项卡代表一个 Shotgun 查询,它们按某些 Shotgun 字段分组形成一个树结构。此设置是一个词典列表。列表中的每个词典定义一个选项卡,并具有以下键:caption 指定选项卡的名称,entity_type 指定要显示的 Shotgun 实体类型。filters 是标准 API Shotgun 过滤器(包括标准格式和复杂格式)的列表。hierarchy 是一系列与实体类型相关的 Shotgun 字段的列表,用来定义树结构的分组。可选的 sub_query 键可用于定义延迟查询,在树视图中展开某个实体时,将运行该查询来收集子项(通常为镜头或资产的任务)。它是具有以下键的词典:entity_type 键(用于指定要收集的子实体类型)、link_field(用于将实体链接到其父项的 Shotgun 字段名称)、filters(标准 Shotgun API 过滤器列表)、hierarchy(定义子树中的分组的字段列表)。可选的 step_filter_on 设置是一种实体类型,可以使用此设置将用于过滤的工序列表限于指定实体类型的工序。
template_work_area
类型:template
说明:引用一个模板,该模板将在磁盘上定位工作目录。
hook_scene_operation
类型:hook
默认值: {self}/scene_operation_{engine_name}.py
说明:应用需要执行的所有特定于应用程序的场景操作(打开、保存等)都集合在此挂钩中。
hook_get_badge
类型:hook
默认值: {self}/get_badge.py
说明:如果需要,指定一个挂钩,在显示发布或工作文件时提供要包含在 UI 中的标记图标。
my_tasks_filters
类型:list
默认值: [[u'task_assignees', u'is', u'{context.user}']]
说明:要应用于“我的任务”(My Tasks)选项卡中任务的过滤器列表。
show_change_context
类型:bool
说明:用于启用“Change Context”对话框的标志。系统提供了一个“Change Context”窗口,以便用户无需打开文件即可选取要将上下文更改到的实体。
allow_task_creation
类型:bool
默认值: True
说明:控制是否可以从应用创建新任务。
version_compare_ignore_fields
类型:list
说明:在比较文件以确定它们是否为同一文件的不同版本时应忽略的一系列字段的列表。如果保留为空,将只忽略“版本”(version)字段。指定要忽略的字段时应特别小心,因为 Toolkit 会认为这些字段值不同的文件的版本应该是唯一的,如果发现情况不是这样,将会报错。
template_publish
类型:template
说明:引用一个模板,该模板将在磁盘上定位发布文件。
template_publish_area
类型:template
说明:引用一个模板,该模板将在磁盘上定位发布目录。
hook_filter_work_files
类型:hook
默认值: {self}/filter_work_files.py
说明:指定一个挂钩,当需要时,可过滤出找到的当前工作区的工作文件原始列表。
file_extensions
类型:list
说明:工作文件视图中显示的文件扩展名列表。如果为空,将显示所有与模板匹配的文件。
show_file_open
类型:bool
默认值: True
说明:用于启用“File Open”对话框的标志。系统提供了一个“File Open”窗口,以便用户选取实体,然后选择与相应上下文关联的文件以将其打开,并对其运行其他操作。
template_work
类型:template
说明:引用一个模板,在磁盘上定位工作文件。
hook_filter_publishes
类型:hook
默认值: {self}/filter_publishes.py
说明:指定一个挂钩,当需要时,可过滤出 Shotgun 返回的当前工作区的原始发布列表。
my_tasks_extra_display_fields
类型:list
说明:在“我的任务”(My Tasks)列表中与任务一起显示的其他字段的列表。