一、Yeti&arnold for maya一键安装部署(更新修复)
http://u.163.com/wUzEMj9K 提取码: 3o1t1cMd
很久没更新东西了,要写的东西很多,需要一些时间做整理测试,争取每个可能都想到,才能避免更多的问题。
针对一些用户使用的反馈,对脚本做了一些修复。
1、修复之前版本用户遇到的问题
问题一:命令行找不到路径,cmd命令需要使用绝对路径引用(也就是推荐的d: cd *\*\*)。
问题二:使用%cd%时,如果放置在根目录下则会产生路径转移符\,放置在其他路径则没有,需要做一个统一化。
问题三:使用setx或者wmic设置环境变量时,需要在系统PATH中添加命令路径,有些电脑默认没有。
问题四:写入系统环境变量会导致不同版本加载错误。
2、三个安装步骤使用脚本一次完成。
a、修改pgYetiMaya.mod
b、修改mtoa.mod
c、写入相应环境变量到maya.env(打开maya加载即可使用)
3、卸载只需要删除maya.env里设置的环境变量。使用uninstall yeti and arnold.bat一键删除。
quick setup yeti and arnold tool
by 小彭友
@echo off
:0、注意Yeti和solidangle相关破解文件已经替换好了
:1、获取两个插件的路径,要求quick setup yeti and arnold.bat、Yeti、solidangle放置在相同目录下。
:2、修改插件对应的mod文件里的路径
:3、设置相关环境变量(要么系统环境变量,要么maya.env)
set ccd=%cd%
if %ccd:~-1%==\ set ccd=%ccd:~0,-1%
set YetiPath=%ccd%\Yeti
set ArnoldPath=%ccd%\solidangle\mtoadeploy\2015
REM 考虑到pgYetiMaya.mod里有版本号
REM %~d0
REM cd %~dp0Yeti
REM cd.>pgYetiMaya.mod
REM echo + pgYetiMaya 1.3.12 %YetiPath%>>pgYetiMaya.mod
REM echo 1.modify pgYetiMaya.mod success!
REM echo;
%~d0
cd %~dp0Yeti
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,3* delims= " %%a in (pgYetiMaya.mod) do (
set var=%%d
set "var=!var:%%d=%YetiPath%!"
cd.>pgYetiMaya.mod
echo %%a %%b %%c !var!>>pgYetiMaya.mod
)
echo 1.modify pgYetiMaya.mod success!
echo;
%~d0
cd %~dp0solidangle\mtoadeploy\2015
cd.>mtoa.mod
echo + mtoa any %ArnoldPath%>>mtoa.mod
echo PATH +:= bin>>mtoa.mod
echo 2.modify mtoa.mod success!
echo;
%HOMEDRIVE%
cd %HOMEDRIVE%%HOMEPATH%\Documents\maya\2015-x64
cd.>Maya.env
echo PEREGRINEL_LICENSE = %YetiPath%\rlm\peregrinel.lic;>>Maya.env
echo MAYA_MODULE_PATH = %ArnoldPath%;%YetiPath%;>>Maya.env
echo PATH = %ArnoldPath%\bin;%YetiPath%\bin;>>Maya.env
echo MTOA_EXTENSIONS_PATH = %YetiPath%\plug-ins;>>Maya.env
echo 3.add to Maya.env success!
echo;
pause
uninstall yeti and arnold
@echo off
:1、卸载只需要删除Maya.env文件里的内容
%HOMEDRIVE%
cd %HOMEDRIVE%%HOMEPATH%\Documents\maya\2015-x64
cd.>Maya.env
echo 1.unistall success!
pause
二、about yeti&arnold for maya command line render
http://u.163.com/buThPyto 提取码: 0bsW6k2b
有个客户反映安装的yeti不能使用deadline管理渲染,我让他发log给我分析。从log中我更加确认了deadline的核心就是maya command line render,真正的核心是调用mayabatch后台运行maya渲染,render也只是传递参数给mayabatch。
通过查看help docment成功解决,下面是解决方案文档。
因为测试电脑没有安装deadline,根据deadline核心我只需要使用dos渲染成功。
这里要注意,如果使用deadline,设置的环境变量必须放置在maya.env,这样就能保证每台电脑都能读取到,如果只是设置在服务器的系统环境变量中,参与渲染的机器无法读取到。
1、yeti和arnold相关的环境变量的设置,最好放置在maya.env这样可以避免版本冲突
PEREGRINEL_LICENSE = D:\Program Files (x86)\Yeti\rlm\peregrinel.lic;
MAYA_MODULE_PATH = D:\Program Files (x86)\solidangle\mtoadeploy\2015;D:\Program Files (x86)\Yeti;
PATH = D:\Program Files (x86)\solidangle\mtoadeploy\2015\bin;D:\Program Files (x86)\Yeti\bin;
MTOA_EXTENSIONS_PATH = D:\Program Files (x86)\Yeti\plug-ins;
2、运行命令前需要先读取渲染器相关的xml文件,所以必须在系统环境变量中指定路径(当然你可以设置运行前执行的mel来指定)。
推荐:
把D:\Program Files\Autodesk\Maya2015\bin加到系统PATH变量中(注意maya2009安装后路径也会添加到PATH,建议删除),
把arnoldRenderer.xml文件拷贝到D:\Program Files\Autodesk\Maya2015\bin\rendererDesc
不推荐的做法:MAYA_RENDER_DESC_PATH = D:\Program Files (x86)\solidangle\mtoadeploy\2015(读取arnoldRenderer.xml文件)
上述路径仅供参考
(render.exe最终还是调用的mayabatch.exe)
下面是简单的测试脚本
@echo off
Render -r arnold -proj D:\test -rd D:\test -im new_test -s 1 -e 1 yeti_cmd_test_01.mb
pause
测试图: