安装Arnold后环境变量被破坏
安装Arnold后环境变量被破坏
lingyun前言
今天在安装新版本Arnold 4.1.0 for maya后,
打开maya发现一堆报错,其中还有不少乱码字符。
一看就知道是Arnold配置失败了,果不其然打开Plug-in Manager,
Maya直接就崩掉了。
好奇这一堆乱码是怎么来的,安装的路径也没有中文字符啊。
接下来就开始一步步排查。
(节省时间的话可以直接看最后总结)
尝试解决
遇到奇怪的问题,第一个就想到的是重新安装。(把官方的安装文档又仔细看了一遍)
官方安装文档:
https://docs.arnoldrenderer.com/display/A5AFMUG/Installing+Arnold+for+Maya+on+Windows
因为我需要将插件安装到网络路径上,所以是用的手动安装。
安装的步骤很简单,在点击安装程序后,取消勾选Configure MatoA for Maya。
安装的路径输入的是网络路径,比如 \server\arnold\mtoa\2017
然后在安装后去修改\server\arnold\mtoa\2017路径下的 mtoa.mod 文件。
修改为如下所示 (其实安装后,这里它会自动修改为安装时候输入的路径)
1 | + mtoa any \\server\arnold\mtoa\2017 |
然后将这个路径\\server\arnold\mtoa\2017
加入到
MAYA_MODULE_PATH和MAYA_RENDER_DESC_PATH环境变量中。
MAYA_MODULE_PATH是为了让maya能找到该插件的mod文件的位置。
MAYA_RENDER_DESC_PATH是为了maya在使用arnold批量渲染的时候,
能找到arnoldRenderer.xml 这个文件。
安装完成后打开maya,发现问题依然存在。
报错的信息里出现了一些奇怪的乱码。
于是我查看了下maya里的PYTHONPATH。
1 | import os |
结果发现环境路径全被奇怪的乱码破坏了。
怪不得一打开Plug-in Manager软件就直接崩掉。
最早怀疑配置文件里路径反斜杆的原因,导致出现乱码,
于是把\
替换成/
,结果依旧。
后来尝试不使用网络直接在本地安装,结果是正常可以使用的。
本地安装不用手动去设置上述的两个环境变量,
所以问题应该是出在环境变量的设置中。
在排查的过程中Google翻到一篇帖子,帖子的提问者也遇到了同样的问题。
回答里说MAYA_MODULE_PATH里的路径中,不能存在exe等二进制的文件。
所以问题现在就比较清晰了,可以看到Arnold的插件目录下,
有两个exe文件和mod文件在同一个路径。
于是我在这个目录中新建了一个文件夹,名为mod
,
并将mtoa.mod文件拷贝到mod
文件夹中,将其单独隔离起来。
然后设置MAYA_MODULE_PATH环境变量为这个mod
文件夹。
果然到这里问题就迎刃而解了。
总结
在设置环境变量的时候,变量MAYA_MODULE_PATH目录下不能存在二进制文件。
maya奇怪的机制会去搜索给予路径下所有文件,并进行读取。
(按理说应该只过滤 *.mod格式的文件)
最好的解决方法是把所有的mod文件放在统一位置进行隔离配置。