Visual Studio 环境配置

安装 Maya 和 Visual Studio 就不用说了。

  1. 创建一个 C++ 的空项目;
  2. 添加一个 .cpp 文件,例如:pluginMain.cpp 之类的,作为整个插件的入口;
  3. (可选)移除构建 x86 平台。Maya 是 64 位的应用,可以移除掉 x86,避免出现一些意外情况;在项目点击右键「属性」
    移除x86
    也可以将 x64 改成自己想要的名字,例如:maya2023_64bit 之类的。
  4. 「配置类型」修改为 .dll
    修改配置类型
  5. 配置 SDK、编程语言标准之类。
    语言标准
  6. 将生成的后缀名改成 .mll
    Maya 的插件使用的后缀名是 .mll
    dll修改为mll
  7. 添加 Maya 的头文件
    「附加包含目录」添加 Maya 的安装路径。
    include目录

(可选)同个菜单下面有一个「多处理器编译」,如果需要可以修改 /MP

  1. 添加库目录

选择 Maya 安装目录下的 lib 文件夹。

lib目录

在「输入」中的「附加依赖项」添加所需要的 .lib 文件:

  • Foundation.lib
  • OpenMaya.lib
    lib

这两个 lib 只是 Maya 的核心模块,如果需要使用到其他的模块,需要添加其他的 lib,例如:OpenMayaUI.lib 之类的。

  1. 配置插件的入口

要提供 initializeuninitialize 给 Maya。在「命令行」 中添加以下命令:

1
/export:initializePlugin /export:uninitializePlugin 

插件入口

  1. 添加预处理器配置

对于 Debug 构建目标,

  • UNICODE
  • WIN32
  • _DEBUG

Debug 目标的预处理器配置

同样,对于 Release 构建目标,则添加:

  • UNICODE
  • WIN32
  • NDEBUG

最基础的插件

到了这一步,就可以开始进入写代码的环节了。有两个函数是必须的,就是 initializePluginuninitializePlugin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <maya/MFnPlugin.h>
#include <maya/MGlobal.h>

MStatus initializePlugin(MObject obj)
{
const char* pluginVendor = "guyu";
const char* pluginVersion = "0.1";

MFnPlugin fnPlugin(obj, pluginVendor, pluginVersion);

MGlobal::displayInfo("Plugin has been initialized.");

return (MS::kSuccess);
}

MStatus uninitializePlugin(MObject obj)
{
MGlobal::displayInfo("Plugin has been uninitialized.");

return (MS::kSuccess);
}

Maya插件管理器

将编译生成的 .mll 添加进来后,应该可以看到出现了代码中的初始化时的文本:

Maya插件管理器

API 介绍

Maya 2023 官方 API 文档

(TODO)

小结

配置好环境,该干嘛干嘛。