找回密码
 立即注册
查看: 376|回复: 0

Shotgun <-> Unreal Engine

[复制链接]
发表于 2020-11-25 21:48 | 显示全部楼层 |阅读模式
Shotgun 官方推出 Tool Kit (简称 SGTK)和虚幻引擎的互联方案已经一年半了,最近因为公司业务需要开始配置。其间颇遇到了一些奇怪的问题,在Shotgun官方帮助下逐个解决之后把方法记录一下,同时也可以给不熟悉 SGTK 的人了解一下它的设计理念
关于两者的连接,UE的官网上是给出了完整教程的: 设置适用于虚幻引擎的Shotgun项目 ,不过这个教程是从一个干净的环境下做的配置,但我们的需求是要把 UE 和现有的资产制作流程糅合在一起,所以实践上应该把这套配置中的核心部分移到现有的项目配置中。
在开始之间,需要检查相关软件的版本:
    UE版本在 4.20 以上SGTK 的 core 版本在 v0.18.8 以上 (版本信息记录在 ./tank/studio/install/core/info.yml)在shotgun上创建一个项目(我的项目命名为tnk),并使用 tk config 2.0 的配置标准 project configuration
配置的步骤:
    按照官方教程在 shotgun 的 software 页面上添加 Unreal Engine,在 engine一栏填 tk-unreal
    从 git 上下载三个包: tk-unreal , tk-framework-unrealqt , tk-config-unreal  并解压
    将 tk-unreal 文件夹复制为 ./tank/studio/install/engines/app_store/tk-unreal/v1.0.0 ,这是 shotgun engine,用来从 shotgun 下启动各个制作软件的引擎
    将 tk-framework-unrealqt 复制为 ./tank/studio/install/framework/app_store/tk-framework-unrealqt/v1.0.0,这是引擎要调用的图形框架
    tk-config-unreal 是官方教程的配置方法,我们将其中有用的部分复制出来
    搜索 tk-config-unreal/core/templates.yml 其中 unreal 关键词部分,复制到 ./tank/tnk/config/core/templates.yml 中,注意里面 {sequence}, {shot}, {asset} 这些关键词的使用方法是否要按照当前项目的标准修改。
    templates.yml 这里是项目的路径映射,用来将项目制作路径抽象化,比如“资产模型文件”,“镜头maya工作区”,这些路径是按照什么规范使用一些关键词组成的。规范确定以后SGTK体系下的工具,比如创建文件夹,publish工具等等,都可以按照一个统一的规范来做动作,而不需要在每个工具中写一套关于路径的逻辑。
    在 ./tank/tnk/config/env/includes/engine_locations.yml 中增加
    # Unreal
    engines.tk-unreal.location:
      type: app_store
      name: tk-unreal
      version: v1.0.0

    在 ./tank/tnk/config/env/includes/frameworks.yml 中增加
      # unrealqt - PySide build for Unreal (Windows-only)
      tk-framework-unrealqt_v1.x.x:
        location:
          version: v1.0.0
          type: app_store
          name: tk-framework-unrealqt

    在 ./tank/tnk/config/env/includes/software_paths.yml 中增加
    # Unreal Engine
    path.windows.ue4: &amp;#39;C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64\UnrealEngineLauncher.exe&amp;#39;

    修改这几个文件都是为了让SGTK了解 UE engine 和 framework 以及 UE 安装的位置
    修改 ./tank/tnk/config/env/includes/settings/tk-shotgun.yml

tk-shotgun.yml 的配置是为了让 SGTK 的 tk-shotgun engine 知道,在什么地方的菜单增加建立 启动 UE4 的命令。我们拷贝官方这个配置,可以在资产任务页面(asset_step)或者项目页面(project) 上增加 启动UE 命令。

9. 上一步我们可以看到 tk-shotgun engine 是要调用 tk-multi-launchapp 这个 app,所以我们要去  ./tank/tnk/config/env/includes/settings/tk-multi-launchapp.yml中配置

注意这里  &amp;#34;@apps.tk-multi-launchapp.location&amp;#34;是我们第7步上配置的;我们将菜单上的命令显示设置为 &amp;#34;Launch UE4&amp;#34;,现在刷新 shotgun页面,就可以看到命令了



10. 但这时从这里启动了 UE4 也不会有什么新功能给你,以为我们还没有配置UE4 启动后增加的菜单。因为 UE4 中的菜单由 tk-unreal engine控制,所以我们需要将 tk-config-unreal/env/includes/settings/tk-unreal.yml 文件复制为  ./tank/tnk/config/env/includes/settings/tk-unreal.yml


tk-unreal.yml  注意配置中 location: &amp;#34;@engines.tk-unreal.location&amp;#34;就是我们第7步做的配置,可以看到这种配置文件内容的相互引用是 tk-config 2.0 的核心,会在每个地方反复出现

11. 修改 ./tank/tnk/config/env/ 下的 project.yml 和 asset_step.yml

增加红线的内容,这里的 &amp;#34;@settings.tk-unreal.project&amp;#34; 正是引用上一个配置文件中的设置
12. 从上一步中可以看到
tk-multi-loader2: &amp;#34;@settings.tk-multi-loader2.unreal&amp;#34;
tk-multi-shotgunpanel: &amp;#34;@settings.tk-multi-shotgunpanel.unreal&amp;#34;
这样的字眼,这表明启动 UE4后, tk-unreal engine 会调用这 tk-multi-loader2 和 tk-multi-shotgunpanel 这两个 app, 所以我们要去相应的 app 中做配置。
我们把  tk-config-unreal/env/includes/settings/ 下两个 app 相关的配置复制到 ./tank/tnk/config/env/includes/settings 对应的 yml 文件中
13. 理论上 SGTK 中的配置就都好了。 我们现在可以在 shotgun 页面上 Launch UE4,启动之后按照官网上的指点,在插件中启动 Python Script 和 Shotgun,重启 UE4引擎
14. UE4 中 shotgun 工具如下,使用方法和其他 DCC中的 shotgun 工具是一样的
本来是想在写完以后顺遍对 SGTK 做个点评的,但这一篇已经写得够多,而且写在一起估计不会被人看到 -- 正常人看见这么枯燥的教程估计早就闪了。
能坚持看到这一行的,都是真的勇士。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-28 15:18 , Processed in 0.155703 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表