BACK TO ARCHIVE
Arnold

Deadline渲染任务添加环境变量

11.02.2018 ADUCG RESEARCH

先说一下此功能的意义。

举个简单的例子:Arnold 或者某一插件在节点上没有部署许可,甚至没有部署 Arnold 或某一插件,可以通过添加环境变量的办法去指定许可服务的位置或安装目录,来实现节点的环境和工作站一至。当然这种情况 IT 可以去给这些机器先部署环境再进行渲染。但也有非常极端的情况:工作站上同时安装了 mtoa 和 ktoa,那很有可能它们的环境变量会相互冲突,造成 Maya 或者 Katana 无法正常使用 Arnold 渲染,为解决这个问题,kat 使用了 bat 的启动方式,利用 bat 脚本功能给此软件创建所需环境变量,它与系统环境变量是不冲突的,而且默认 ktoa 的安装方式就是用此方法实现。可这就意味着 Deadline 的渲染节点需要想办法实现 mtoa 及 ktoa 两者的环境变量共存才可以保证 MayaKatana 任务正常渲染。这就需要用到 Deadline 的任务环境变量的功能,当渲染 mtoa 任务时创建 mtoa 所需要的环境变量,当提交 ktoa 任务时创建 ktoa 的环境变量。Thinkbox Deadline 提交任务时会有一个包含环境变量的属性。

EnvironmentKeyValue0=mykey=myvalue
EnvironmentKeyValue1=anotherkey=anothervalue
EnvironmentKeyValue2=athirdkey=athirdvalue
...

但不幸的是在 Deadline 自带的提交工具是并没有提供此参数的显示,通过 UI 是无法编辑,因此如果想要添加,就只能在提交任务后右键打开任务属性中的 environment 里手动添加。

还有一方法是修改提交脚本文件,在上面直接添加变量属性,这种是最方便的方式,可以一劳永逸。

提交脚本添加环境变量值

首先找到对应软件的提交脚本,如 Katana 的脚本是在 deadlline 服务器端,

找到 \\IP\DeadlineRepository10\submission\Katana\Main\SubmitKatanaToDeadline.py 文件,

添加 EnvironmentKeyValue# 属性

如果通过 Monitor 提交任务,需要修改 \\IP\DeadlineRepository10\scripts\Submission\KatanaSubmission.py 文件

之后提交任务时,提前脚本会自动创建出此环境变量属性。

本文采用 Creative Commons BY-NC-ND 4.0 协议进行授权。

BY-NC-ND: 署名-非商业性使用-禁止演绎

End of Article