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 ) 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来使用我们的插件。
Maya Plugin 编译Maya插件的更多相关文章
- maya 2015配置openCollada插件
1.下载对应的openCollada插件内容 https://github.com/KhronosGroup/OpenCOLLADA/wiki/OpenCOLLADA-Tools 该页面目前提供Mac ...
- Maya mel maya档出现未知插件解决方法
Maya mel maya档出现未知插件解决方法 以下 mel 代码,拷贝到 maya 的脚本编辑器的 mel 中,最好运行两次 string $unknownNodes[] = `ls -type ...
- Tips For Your Maya Plugin Development
(The reason why I write English blog is that I'm trying to improve my written English. The Chinese v ...
- Debugging Maya Plugin(C++) with CodeBlocks in Linux
My system is CentOS7 x64, Maya2015 x64 for Linux. - Make sure that your project is built with flag - ...
- openfire:openfire单独编译指定插件的方法
方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件.但进行插件开发时,这样编译就太费时费力.使用ant plugins可以只编译插件,能够节省部分时间.最节省时间 ...
- maven项目配置使用jdk1.8进行编译的插件
在使用Maven插件编译Maven项目的时候报了这样一个错:[Java source1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符],这里记录下出现这个错 ...
- Hadoop_配置_linux下编译eclipse插件
使用的hadoop版本为hadoop-1.2.1(对应的含源码的安装包为hadoop-1.2.1.tar.gz) 将hadoop和eclipse都解压在home中的用户目录下 /home/chen/h ...
- 【Python学习】由于windows环境问题导致的不能安装某些需要VC编译的插件
由于windows环境问题导致的不能安装某些需要VC编译的插件 下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装方法: 在CMD中输入 pip in ...
- OSG3.4编译FFMPEG插件
0.加入你要读a.mp4,那个正确的写法是osg::Image* image = osgDB::readImageFile("a.mp4.ffmpeg"); 1.在github上下 ...
随机推荐
- HDOJ 4652 Dice
期望DP +数学推导 Dice Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- JavaScript获取浏览器高度和宽度值(documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight)
IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...
- 【总结】虚拟机VirtualBox各种使用技巧
作为个人学习研究,VirtualBox是首选,它是Oracle下免费的.开源.跨平台的一款虚拟机软件,小巧.实用,一点也不逊于商业版的VMware Workstation. VirtualBox官网: ...
- linux安装php & nginx
1.安装libxml2 地址:http://ftp.gnome.org/pub/GNOME/sources/libxml2/ wget http://caesar.acc.umu.se/pub/GNO ...
- python 环境配置
每个项目都应该有自己的虚拟环境,如何方便的操作呢? 1. 安装 virtualenv 2. 安装 virtualenvwrapper 3. 创建目录用来存放虚拟环境 mkdir $HOME/.virt ...
- iOS开发——高级篇——二维码的生产和读取
一.二维码的生成 从iOS7开始集成了二维码的生成和读取功能此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤:导入CoreImage框架通过滤镜CIFilter生成二维码 二维码 ...
- 使用ajax技术实现txt弹出在页面上
使用ajax技术实现txt弹出在页面上 使用ajax技术实现点击按钮,将TXT文本里的内容通过弹出框显示到页面上 /*事件会在页面加载完成后触发.*/ <script> window. ...
- C++基础知识(4)---例外、异常处理
对Java熟悉的朋友们都很清楚,java中的异常处理机制是非常完善的.并且java强制使用异常处理,用户必须对有可能出现异常的情况进行处理. 在C++中并没有强制用户使用异常处理,但是使用异常处理将会 ...
- SQLite批量插入优化方法
SQLite的数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度. 例如:向数据库中插入10 ...
- 找出只含有2,3,5因子构成的数的第N个
https://leetcode.com/problems/ugly-number-ii/ 刚开始,一看题以为用刷选法,但是当数据量大时明显不行.然后感觉用含2,3,5因子的个数当做进制来处理还是不行 ...