标签: maya-api

自定义 Maya 的 addCheckCallback 弹出消息

当用户保存文件时,我希望在保存之前进行检查。如果检查失败,则不会保存。我使用 mSceneMessage 和 kBeforeSaveCheck 进行了这项工作,但我不知道如何在失败时自定义弹出消息。这可能吗?

import maya.OpenMaya as om
import maya.cmds as cmds

def func(retCode, clientData):
    objExist = cmds.objExists('pSphere1')
    om.MScriptUtil.setBool(retCode, (not objExist) ) # Cancel save if there's pSphere1 in the scene

cb_id = om.MSceneMessage.addCheckCallback(om.MSceneMessage.kBeforeSaveCheck, func)
Run Code Online (Sandbox Code Playgroud)

现在它显示

用户提供的回调取消了文件操作。

python maya maya-api

5
推荐指数
1
解决办法
1154
查看次数

如何使用 Maya Python API 2.0 在网格中添加边缘

我使用 maya.api.OpenMaya.MFnMesh.subdivideEdges() 函数。边被顶点分割,但相应的新边不会到来。如何在分割边缘上添加边缘?或者如何创建从一个顶点到另一个顶点的边。使用 Maya Python API 2.0 ?

在此输入图像描述 #这是我的 Maya Python API 2.0 代码

import maya.api.OpenMaya as om
verticePos      = [(-0.5, -0.5, 0.5, 1), (0.5, -0.5, 0.5, 1), (-0.5, 0.910894, 0.5, 1), (0.5, 0.910894, 0.5, 1), (-0.5, 0.910894, -0.383361, 1), (0.5, 0.910894, -0.383361, 1), (-0.5, -0.5, -0.383361, 1), (0.5, -0.5, -0.383361, 1), -0.5, -0.5, 1.06715, 1), (0.5, -0.5, 1.06715, 1), (0.5, 0.910894, 1.06715, 1), (-0.5, 0.910894, 1.06715, 1), (-0.5, -1.12433, -0.383361, 1), (0.5, -1.12433, -0.383361, 1), (0.5, -1.12433, 0.5, 1), …
Run Code Online (Sandbox Code Playgroud)

python api maya autodesk maya-api

5
推荐指数
1
解决办法
4483
查看次数

什么是这个C++函数声明

我是C++的新手,我在docs上工作的东西告诉我只看它没有解释任何东西,所以我试图破译它.

我来了一个函数的声明,但我不完全理解它.

只是第一个功能

我得到的部分是我没有得到的是在MHWRender :: MPxShaderOverride(obj)之后然后它作为参数列表开始(或者它叫做我不知道的)

我猜我会在哪里找到指定的输入.

再一次,我不知道这是做什么,所以我有点迷失在如何解释它.

完整代码可以在这里找到:http: //help.autodesk.com/view/MAYAUL/2016/ENU/?guid = _cpp_ref_hw_phong_shader_2hw_phong_shader_8cpp_example_html

    hwPhongShaderOverride(const MObject& obj)
: MHWRender::MPxShaderOverride(obj)
, fShaderNode(NULL)
, fTextureData(NULL)
, fDrawUsingShader(true) // Disabling this will use fixed-function which only has an OpenGL implementation
, fShaderBound(false)
, fTexture(NULL)
, fInColorPass(false)
, fColorShaderInstance(NULL)
, fInShadowPass(false)
, fShadowShaderInstance(NULL)
, fTransparency(0.0f)
{
    // Create a shader instance to use for drawing
    //
    if (fDrawUsingShader)
    {
        createShaderInstance();
    }
    fAmbient[0] = fAmbient[1] = fAmbient[2] = 0.0f;
    fDiffuse[0] = fDiffuse[1] = fDiffuse[2] = …
Run Code Online (Sandbox Code Playgroud)

c++ maya-api

-1
推荐指数
1
解决办法
125
查看次数

标签 统计

maya-api ×3

maya ×2

python ×2

api ×1

autodesk ×1

c++ ×1