【问题标题】:Maya: Create temporary MFnMEsh for smooth exportMaya:创建临时 MFnMEsh 以实现平滑导出
【发布时间】:2013-04-16 22:39:16
【问题描述】:

我正在编写一个导出器,通过 'generateSmoothMesh()' 方法导出细分预览网格,如下所示:

MFnMesh mesh(mesh_dag_path);

MFnMesh subdiv_mesh(mesh.generateSmoothMesh());

但在导出完成后,新的细分几何体仍留在我的 Maya 场景中。我应该如何处理这种几何图形,或者这是否是进行这种导出的正确方法?

我的第一个直觉是在导出完成后删除几何,如果这是正确的做法,有人知道他从 api 中删除几何的正确方法

【问题讨论】:

    标签: mesh maya autodesk exporter


    【解决方案1】:

    说你需要通过 API 来做这件事让我觉得这是一个命令插件。如果我错了纠正我。一种方法是使用 MGlobal 从插件运行 MEL 代码。

    MGlobal::executeCommand(MString("delete meshTransform;"));

    其中 meshTransform 是新创建的网格的变换。您可以通过将 parentOrOwner 设置为 MObject::kNullObj 来获得它。

    也可以直接使用:

    MGlobal::deleteNode()

    【讨论】:

    • 或者使用 MGlobal::deleteNode()。
    • 正确。我也会将其包含在答案中。
    • 它确实是一个命令插件,实际上它被设计为一个功能更完整的.obj 导出器。这种行为听起来是否正确,在导出期间在场景中创建了一个临时几何体?
    • 我觉得只要保证场景恢复原状就可以了。
    • 大多数时候,您不只是调用函数并获得结果,而是将节点添加到依赖关系图中,建立连接,让 Maya 评估图,然后获取结果。考虑到 Maya 的设计方式,是的,它听起来确实正确。
    猜你喜欢
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多