所有装备节点必须以一台摄影机为父对象(直接或通过任意数量的变换)。该摄影机作为根装备,并作为中心摄影机。无法在装备结构内部使用实例化。
创建过程不应使用任何参数,并且必须返回由三个字符串组成的数组。第一个是装备的根节点,第二个和第三个分别是左侧摄影机和右侧摄影机。
此时将显示“自定义立体装配编辑器”(Custom Stereo Rig Editor)窗口。
每个自定义装备可以指定每当该装备附加到摄影机集时调用的回调。摄影机集保存到多重摄影机装备的各层上,并包含用于保存与各层相关的信息的窗口。创建装备并将其指定给多重装备的某一层后,将执行该回调,以使自定义装备知道已发生该操作并允许执行任何自定义操作。多重装备的每一层都如此。
在创建所有多重装备后,会将一个最终回调发送到同一个方法,以指示 Maya 已完成多重装备的创建。回调的语法包含下列标志:
每层:<nameOfCallback> -cameraSet <multiRigName> <rigNodeName>
现在,通过选择“面板 > 立体 > ”(Panels > Stereo >)“新立体摄影机(<您的自定义装备>)”,您可以访问自定义装备。
Maya 附带一个已启用的默认立体装备。提供的源代码在 Python 模块中:...\Python\Lib\site-packages\maya\app\stereo。在该目录中,还可以找到以下代码示例:
...\scripts\others\stereoCameraSimpleRig.mel 创建最简单的装备,其中摄影机用于右眼和中心眼。左侧摄影机被设置为子对象。
如果存在现有装备,或者需要在 Maya 之外创建装备,可以使现有装备与 Maya 的要求兼容。但是,所有摄影机必须以公共变换为父对象,称为装备根。
import maya.cmds as cmds from maya.app.stereo import stereoCameraRig
# Make sure the stereo plug-in is loaded cmds.loadPlugin("stereoCamera", quiet=True) stereoCameraRig.makeStereoCameraRig(rigRoot, rigTypeName, leftCam, rightCam)
其中 rigRoot、leftCam 和 rightCam 分别是根变换的名称、左侧摄影机对的名称和右侧摄影机对的名称。rigNameType 是用于标识装备类型的用户定义的字符串。
如果已装配多个左侧和右侧摄影机对,您可以更改用于交互式显示的默认左侧对和右侧对。
import maya.cmds as cmds from maya.app.stereo import stereoCameraRig# Make sure the stereo plug-in is loaded cmds.loadPlugin("stereoCamera", quiet=True)stereoCameraRig.setStereoPair(rigRoot, leftCam, rightCam)