将自定义装备摄影机添加到场景中的方法有以下两种。        

  • 方法 1:使用 MEL 或 Python 脚本编写装备创建方法并在 Maya 中注册装备。这是首选方法。

  • 方法 2:将现有装备编辑为可由 Maya 识别。

方法 1

编写 MEL 或 Python 脚本程序        

  1. 通过编写 MEL/Python 脚本创建自定义装备。              

    提示                      

    最好是使用 Python 脚本创建装备。                    

  2. 描述摄影机装备的层次并定义中心摄影机、左侧摄影机和右侧摄影机的关系。              

    所有装备节点必须以一台摄影机为父对象(直接或通过任意数量的变换)。该摄影机作为根装备,并作为中心摄影机。无法在装备结构内部使用实例化。              

    创建过程不应使用任何参数,并且必须返回由三个字符串组成的数组。第一个是装备的根节点,第二个和第三个分别是左侧摄影机和右侧摄影机。              

有关 stereoRigManager

注册您的自定义装备        

  1. 选择“立体 > 编辑器 > 自定义立体装备”(Stereo > Editors > Custom Stereo Rig)。              

    此时将显示“自定义立体装备编辑器”(Custom Stereo Rig Editor)窗口。              

  2. “注册新装备”(Register a new rig section)区域中,选择自定义装备的名称。选择用于创建自定义装备的语言,即 Python 或 MEL。输入要用于创建您的自定义装备的 Python 或 MEL 程序,例如:                

    maya.app.stereo.stereoCameraComplexRig.createRig.              

  3. “摄影机集回调”(Camera Set Callback)区域中,指定回调(如果正在使用多重摄影机装备)。                

    每个自定义装备可以指定每当该装备附加到摄影机集时调用的回调。摄影机集保存到多重摄影机装备的各层上,并包含用于保存与各层相关的信息的窗口。创建装备并将其指定给多重装备的某一层后,将执行该回调,以使自定义装备知道已发生该操作并允许执行任何自定义操作。多重装备的每一层都如此。                                

    在创建所有多重装备后,会将一个最终回调发送到同一个方法,以指示 Maya 已完成多重装备的创建。回调的语法包含下列标志:                

    每层:<nameOfCallback> -cameraSet <multiRigName> <rigNodeName>                

    最终回调:<nameOfCallbak> -cameraSet <multiRigName> -allDone 1                

    有关多重摄影机装备的详细信息,请参见创建多重摄影机装备多重摄影机装备工具。  

  4. 单击“添加新装备”。                

    现在,通过选择“面板 > 立体”(Panels > Stereo)“新立体摄影机(<您的自定义装备>)”,您可以访问自定义装备。              

    注意                      

    还可以通过使用 StereoRig 管理器命令注册您的自定义装备。有关如何使用该命令注册自定义装备、查询默认装备或删除装备的示例,请参见 StereoRig 管理器命令文档。

源代码示例

Maya 附带一个已启用的默认立体装备。提供的源代码在 Python 模块中:...PythonLibsite-packagesmayaappstereo。在该目录中,还可以找到以下代码示例:

  • stereoCameraDefaultRig.py 是用于创建默认 Maya 装备的程序。              

  • stereoCameraComplexRig.py 使用三对摄影机创建更复杂的装备。              

  • stereoCameraHierarchicalRig.py 使用 Maya 默认装备(已设置为另一个摄影机的子对象)的三个副本创建与 stereoCameraComplexRig 相似的设置。              

  • stereoCameraProxyRig.py 说明了如何创建使用 proxyRig 属性将装备链接到现有 Maya 装备的立体摄影机装备。如果您的立体摄影机装备不包含直接位于立体装备根下的摄影机图形,这些类型的装备是必要的。                

...scriptsothersstereoCameraSimpleRig.mel 创建最简单的装备,其中摄影机用于右眼和中心眼。左侧摄影机被设置为子对象。

stereoRigManager 示例中使用了这些脚本。

方法 2

使现有装备与 Maya 兼容

如果存在现有装备,或者需要在 Maya 之外创建装备,可以使现有装备与 Maya 的要求兼容。但是,所有摄影机必须以公共变换为父对象,称为装备根。

调用以下 Python 代码:

import maya.cmds as cmdsfrom maya.app.stereo import stereoCameraRig

# Make sure the stereo plug-in is loadedcmds.loadPlugin("stereoCamera", quiet=True)stereoCameraRig.makeStereoCameraRig(rigRoot, rigTypeName, leftCam, rightCam)

其中 rigRootleftCamrightCam 分别是根变换的名称、左侧摄影机对的名称和右侧摄影机对的名称。rigNameType 是用于标识装备类型的用户定义的字符串。

更改默认的左侧摄影机对和右侧摄影机对

如果已装备多个左侧和右侧摄影机对,您可以更改用于交互式显示的默认左侧对和右侧对。

调用以下 Python 代码:

import maya.cmds as cmdsfrom maya.app.stereo import stereoCameraRig

# Make sure the stereo plug-in is loadedcmds.loadPlugin("stereoCamera", quiet=True)

stereoCameraRig.setStereoPair(rigRoot, leftCam, rightCam)

,