Maya Plugin 编译Maya插件

Maya自身的功能就已经非常强大了,但是更棒的是它的扩展性非常强,提供API让用户自己来编写插件Plugin。Maya的插件主要是两种,一种是用C++编写的,后缀为".mll",另一种是用Python编写的,后缀为".py"。在用C++编写插件时,我们可以用下面的这个CMakeLists.txt文件来生成项目工程:

SET(MAYA_PLUGIN_NAME "yourPlugin")
SET(MAYA_DIRECTORY "C:/Program Files/Autodesk/Maya2015")
SET(MAYA_HEADERS_DIR "${MAYA_DIRECTORY}/include")
SET(MAYA_LIBRARY_DIR "${MAYA_DIRECTORY}/lib")

SET(SOURCE_FILES
  yourPlugin.cpp
)

source_group("" FILES ${SOURCE_FILES})

INCLUDE_DIRECTORIES(${MAYA_HEADERS_DIR})
LINK_DIRECTORIES(${MAYA_LIBRARY_DIR})

SET(LIBRARIES Foundation.lib OpenMaya.lib OpenMayaAnim.lib OpenMayaUI.lib)

SET(MAYA_DEFINITIONS _AFXDLL _MBCS NT_PLUGIN REQUIRE_IOSTREAM _BOOL)

ADD_LIBRARY(${MAYA_PLUGIN_NAME} SHARED ${SOURCE_FILES})
TARGET_LINK_LIBRARIES(${MAYA_PLUGIN_NAME} ${LIBRARIES})

SET_TARGET_PROPERTIES(${MAYA_PLUGIN_NAME} PROPERTIES COMPILE_DEFINITIONS "${MAYA_DEFINITIONS}")
SET_TARGET_PROPERTIES(${MAYA_PLUGIN_NAME} PROPERTIES OUTPUT_NAME "${MAYA_PLUGIN_NAME}")
SET_TARGET_PROPERTIES(${MAYA_PLUGIN_NAME} PROPERTIES SUFFIX ".mll")
SET_TARGET_PROPERTIES(${MAYA_PLUGIN_NAME} PROPERTIES CLEAN_DIRECT_OUTPUT 1)

SET_TARGET_PROPERTIES(${MAYA_PLUGIN_NAME} PROPERTIES LINK_FLAGS "/export:initializePlugin /export:uninitializePlugin")

需要注意的是,如果你是在Windows下用VS来生成项目工程,你的VS编译器是用32位还是64位一定要跟你的Maya版本同一,不然编译生成的插件无法使用。

当编译成功时,会生成后缀为".mll"的插件,这个就是我们需要的文件,我们将其拷贝到Maya的插件目录下( C:\Program Files\Autodesk\Maya2015\bin\plug-ins ),然后在Maya中加载这个插件,在Window -> Setting/Preferences -> Plug-in Manager 中找到你的插件,点加载。

一般来说,自己写的插件需要在命令行中运行,我们打开Command Shell或者Script Editor来使用我们的插件。

时间: 2024-08-07 00:09:04

Maya Plugin 编译Maya插件的相关文章

如何搭建maya plugin develop environment on MAC OS X

1.首先我使用的平台是xcode version 5.1.1 ,MAYA2015, MAX OS X 10.9.4. MAYA2015要求的是:Mountain Lion 10.8.5, Xcode 5.0.2 with SDK 10.8 (Mountain Lion), clang with libstdc++. 但是没有关系, 虽然xcode默认的工程编译sdk是10.9但是xcode 5.1.1是支持10.8的sdk的. 2. 在build setting 里面设置工程链接的lib的路径和

openfire:openfire单独编译指定插件的方法

方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件.但进行插件开发时,这样编译就太费时费力.使用ant plugins可以只编译插件,能够节省部分时间.最节省时间的编译方法为在命令行下使用ant plugin -Dplugin=xxx进行编译,其中,xxx为插件名字(即plugins目录下的一个子目录名),这样就可以只编译指定的一个插件,省时省力.在eclispe中的设置方法为:1.首先把openfire的builder.xml文件加入ant视图里.如图:

【大话QT之十二】基于CTK Plugin Framework的插件版本动态升级

应用需求: 某些场景下我们可能面临这样的问题,在运行着的应用程序不能终止的情况下,升级某个功能(或添,或减,或修改).在不采用CTK Plugin Framework插件系统架构的情况下这将是很困难的,我们需要停止运行程序,然后在相关代码中作出修改,然后再重新编译,再重新启动我们的程序.而如果是基于CTK Plugin Framework插件系统架构构建的系统,则很容易的实现插件的动态升级.在[大话Qt之四]ctkPlugin插件系统实现项目插件式开发中,我对ctkPlugin做了简单介绍,在次

maven项目配置使用jdk1.8进行编译的插件

在使用Maven插件编译Maven项目的时候报了这样一个错:[Java source1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符],这里记录下出现这个错误的原因以及解决这个问题的方法. 问题出现的原因 diamond运算符,指的是JDK1.7的一个新特性: List<String> list = new ArrayList<String>(); // 老版本写法 List<String> list = new ArrayL

【Python学习】由于windows环境问题导致的不能安装某些需要VC编译的插件

由于windows环境问题导致的不能安装某些需要VC编译的插件 下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装方法: 在CMD中输入 pip install 下载的文件本地地址 如: pip install c:\lxml-3.4.4-cp34-none-win_amd64.whl

OSG3.4编译FFMPEG插件

1.在github上下载最新的osg3.4源码https://github.com/openscenegraph/OpenSceneGraph/tree/OpenSceneGraph-3.4,你会发现其对应的ffmpeg插件支持ffmpeg3.0.x 2.去ffmpeg官网下载开发版https://ffmpeg.zeranoe.com/builds/win32/dev/,最小的版本是3.2 3.修改OpenSceneGraph-3.4.0\CMakeModules\FindFFmpeg.cmak

Maya批量传递UV插件

之前写的关于Maya批量传递UV的小插件.在传递大量模型的UV属性时可用,免得一个一个去Transfer Attribute.列表可编辑,便于多次分步进行模型选择和传递. 英文界面版: http://pan.baidu.com/s/1o7fYgsU 中文界面版:http://pan.baidu.com/s/1gdUbgJp 附源码: //The Plug-in of batch UVs Transfer //Script by @Mullin //Date Dec, 14th, 2015 str

Intellij Idea 14编译golang 插件

最近项目实在太赶了,很久没有写过博文了. 公司新配了一台笔记本电脑,原装win8的.于是又从linux回到了windows.不想用win命令行来搞go了,win下太折腾了.还是用一直使用的idea. golang的插件貌似更新很频繁,都是源码的,所以要自己编译下. 过程如下: 1.下载源码: https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases/ 2.解压,然后用idea打开. 3.ctrl+alt+shift+s

Hadoop学习之编译eclipse插件

近期准备開始学习Hadoop1.2.1的源码,感觉最好的方法还是能够在运行Hadoop及hadoop作业时跟踪调试代码的实际运行情况.因为选择的IDE为eclipse,所以准备编译一下hadoop的eclipse插件,以下就直接进入正题.Hadoop的eclipse插件源码位于hadoop-1.2.1/src/contrib/eclipse-plugin/中,直接进入该文件夹,在不做不论什么改动的情况下,在命令行输入ant,运行效果例如以下: [[email protected] eclipse