先说一下此功能的意义。
举个简单的例子:arnold或者某一插件在节点上没有部署许可,甚至没有部署arnold或某一插件,可以通过添加环境变量的办法去指定许可服务的位置或安装目录,来实现节点的环境和工作站一至。当然这种情况IT可以去给这些机器先部署环境再进行渲染。但也有非常极端的情况:工作站上同时安装了mtoa和ktoa,那很有可能它们的环境变量会相互冲突,造成maya或者katana无法正常使用arnold渲染,为解决这个问题,kat使用了bat的启动方式,利用bat脚本功能给此软件创建所需环境变量,它与系统环境变量是不冲突的,而且默认ktoa的安装方式就是用此方法实现。可这就意味着deadline的渲染节点需要想办法实现mtoa及ktoa两者的环境变量共存才可以保证maya及katana任务正常渲染。这就需要用到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#`属性
![](https://aduvfx-1252404142.cos.ap-beijing.myqcloud.com/uploads/2018/11/CatchC36010-26-13-32-32.jpg)
如果通过Monitor提交任务,需要修改`\\IP\DeadlineRepository10\scripts\Submission\KatanaSubmission.py`文件
![](https://aduvfx-1252404142.cos.ap-beijing.myqcloud.com/uploads/2018/11/Catch156410-26-13-32-32.jpg)
之后提交任务时,提前脚本会自动创建出此环境变量属性。
![](https://aduvfx-1252404142.cos.ap-beijing.myqcloud.com/uploads/2018/11/Catch10-26-13-32-32.jpg)
![](https://aduvfx-1252404142.cos.ap-beijing.myqcloud.com/uploads/2018/11/Catch094C10-26-13-32-32.jpg)
你好,我想具体咨询一下这个问题,方便联系一下么?