如何将 Maya 的多个版本添加到启动器和 SG Desktop?

注意:本文档介绍仅当控制 Toolkit 配置时可用的功能。请参见 Shotgun 集成管理员手册
注意:本手册讨论的过程是旧的软件路径和版本设置方法。软件实体是控制版本和路径的新首选方法,如果您的项目配置基于“tk-config-default2”配置(这是高级配置的新默认值),则会自动使用软件实体。

以下示例将指导您完成所需的更改,以使 Maya 2014 和 Maya 2015 作为单个启动按钮中的子菜单显示在 SG Desktop 的启动器中。这也将显示一个用于在 Shotgun 中启动每个版本的 Maya 的菜单选项(Shotgun 中不支持子菜单)。

限制

如果您需要为不同版本的 DCC 提供不同的默认参数,此方法不起作用。您需要定义启动器 (tk-multi-launchapp) 的单独实例,它们将在 SG Desktop 中(以及在 Shotgun 中)显示为单独的启动按钮。例如,启动 Nuke 和 NukeX 时,此方法不起作用。由于启动 NukeX 需要 --nukex 参数,它们需要单独的实例。

 

config/env/includes/paths.yml

您可在此位置定义 Maya 可执行文件在用户计算机上的路径。

查找以下行

maya_windows: 'C:\Program Files\Autodesk\Maya2014\bin\maya.exe'
maya_mac: /Applications/Autodesk/maya2014/Maya.app
maya_linux: maya

按如下所示进行更改。

maya_windows: 'C:\Program Files\Autodesk\Maya{version}\bin\maya.exe'
maya_mac: /Applications/Autodesk/maya{version}/Maya.app
maya_linux: maya{version}

 

config/env/includes/app_launchers.yml

这些是已配置为启动每个 DCC 的 tk-multi-launchapp(启动器)实例。

注意:在下面的“location”设置中指定的“version”可能与您配置中的内容不同。您应该使用当前版本,而不是下面的版本。

查找以下行:

launch_maya:
  defer_keyword: ''
  engine: tk-maya
  extra: {}
  hook_app_launch: default
  hook_before_app_launch: '{config}/before_app_launch.py'
  icon: '{target_engine}/icon_256.png'
  linux_args: ''
  linux_path: '@maya_linux'
  location: {name: tk-multi-launchapp, type: app_store, version: v0.5.4}
  mac_args: ''
  mac_path: '@maya_mac'
  menu_name: Launch Maya
  versions: []
  windows_args: ''
  windows_path: '@maya_windows'

我们将修改原始实例以添加版本令牌(在此处的版本设置中定义)。令牌 {version} 将替换为此处的这些值(例如在菜单名称中),并且在上面定义的路径中也将被替换。如下所示修改 menu_nameversions 设置:

  menu_name: 'Launch Maya {version}'
  versions: ['2014', '2015']

请注意,在 SG Desktop UI 中版本将按反向数字顺序自动排序,“最新”版本将为默认值。我们计划将来将排序和默认版本设为可配置。

如果您希望对于不同版本的 Maya,最近访问项能够显示不同的图标,也可以修改 icon 设置以包含 {version} 令牌。您需要自己提供这些内容,并将其(理想情况下具有正确的名称)放置在工作流配置的 icons 目录中,然后将此设置指向 {config_path}/icons/icon_maya{version}.png 之类的内容

 

config/env/project.yml

在项目中时,SG Desktop 当前仅在项目环境中运行。因此,我们要确保其配置为将多个 DCC 版本“汇总”到单个按钮中。

查找以下行(这可能与您的配置稍有不同,但没有问题):

engines:
  ...
  tk-desktop:
    apps:
      tk-multi-launch3dsmax: '@launch_3dsmax'
      tk-multi-launchhiero: '@launch_hiero'
      tk-multi-launchmari: '@launch_mari'
      tk-multi-launchmaya: '@launch_maya'
      tk-multi-launchmotionbuilder: '@launch_motionbuilder'
      tk-multi-launchnuke: '@launch_nuke'
      tk-multi-launchphotoshopcc: '@launch_photoshop'
      tk-multi-launchsoftimage: '@launch_softimage'
      tk-multi-screeningroom: '@launch_screeningroom'
    collapse_rules:
    - {button_label: $app, match: Launch $app, menu_label: None}
    debug_logging: false
    default_group: Studio
    groups:
    - matches: ['*Hiero*', '*Houdini*', '*Mari*', '*Max*', '*Maya*', '*Motion*', '*Nuke*', '*Photoshop*', '*Softimage*']
      name: Creative Tools
    hook_launch_python: default
    location: {name: tk-desktop, type: app_store, version: v1.0.2}
    show_recents: true

collapse_rules 定义如何确定是否应汇总对象。修改设置,如下所示:

    collapse_rules:
    - {button_label: $app, match: Launch $app $version, menu_label: Launch $version}

 

现在,在 SG Desktop 中,导航到您的项目列表,然后重新选择您的项目(这将重新加载工作流配置),您应看到不同版本的 Maya 显示在一个子菜单中:

Shotgun.png

 

确保 Shotgun Web 应用程序获取更新的菜单设置

如果您注意到 Shotgun Web 应用程序不显示您的新菜单选项,或者看到下面的错误,您可以重新生成 Shotgun 菜单缓存:

ERROR: The action could not be executed! This is typically because there is an error in the app configuration which prevents the engine from initializing it.

为了确保 Shotgun Web 应用程序获取新菜单项设置,您需要重新生成填充这些菜单时要读取的缓存文件。只需从您的工作流配置的根运行以下 tank 命令即可执行该操作:

$ ./tank clear_shotgun_menu_cache

然后转到 Shotgun Web 应用程序并重新加载页面,等待几秒钟以确保缓存操作已完成,然后菜单应该会按预期显示。

关注

0 评论

登录写评论。