软件 · 2021年12月23日 0

Maya 2016 + Arnold 1.4.2.2安装yeti 2.1.6步骤及报错解决方法

不知国内还有多少老流程是跑在这么古老的Arnold 1.4.2.2 + yeti 2.1.6版本上,之前在公司环境都是由IT给配置好直接用,在自己电脑上安装到正常渲染输出,还是经历了一番折腾的。在此记录如下。

先按照插件的安装说明操作一遍:

首先,把对应maya版本的yeti插件放在C盘根目录,结果像这样:C:\Yeti-v2.1.6_Maya2016-windows64

然后在C盘建立rlm文件夹,把yeti.lic放进去,结果像这样:C:\rlm

再创建系统环境变量名为peregrinel_LICENSE,变量值为C:\rlm\yeti.lic

最后把pgYetiMaya.mod文件放到我的文档中maya\2016\modules

安装就到此完成了。

但是初次渲染时候,会收到报错三联:

// Error: [Thu Dec 23 14:03:30 2021] Yeti 2.1.6: ERROR Error writing xxxxxx.fur the directory doesn't exist! // 
// Error: [pgYetiArnold] xxxxxx.fur does not exist! // 
// Error: [proc] pgYetiMaya1Shape: error in user init from pgYetiArnold.dll //

国内搜索的话,得到的结果是从国外照搬过来的,说要复制yeti文件夹里的dll文件到Arnold的shader文件夹之类的,经过测试完全不起作用。真正的解决方案来自yeti的官方论坛反馈,那就是,在渲染设置的Common栏最下方,预渲染脚本那一行添加pgYetiPreRender。

到这一步就可以愉快的渲染yeti毛发了。分析之前报错的原因,其实就是缺少.fur缓存,无法渲染,而加这句pgYetiPreRender的命令,就是为了生成.fur缓存文件的。

反而在公司提交本地渲染农场的时候,是要去掉这句pgYetiPreRender的,不然渲染会黑帧。现在也明白了原因,应该是因为pipeline工具在publish CFX的时候已经生成了yeti缓存,这缓存在服务器路径所以能正常读取渲染。而pgYetiPreRender命令会在本地生成缓存,渲染农场节点读不出本地路径文件,所以渲染才会黑帧报错。