zoukankan      html  css  js  c++  java
  • 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 FilesAutodeskMaya2015inplug-ins ),然后在Maya中加载这个插件,在Window -> Setting/Preferences -> Plug-in Manager 中找到你的插件,点加载。

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

  • 相关阅读:
    webdav srs相关
    How To Configure WebDAV Access with Apache on Ubuntu 14.04
    ubuntu 编译lighttpd
    srs编译及推流测试
    Compile pciutils (lspci, setpci) in Windows x86,在 Windows x86 平台下编译 pciutils (lspci, setpci)
    mingw MSYS2 区别
    Qt之美(三):隐式共享
    Qt之美(二):元对象
    Qt之美(一):d指针/p指针详解
    C++的栈空间和堆空间
  • 原文地址:https://www.cnblogs.com/grandyang/p/6079790.html
Copyright © 2011-2022 走看看