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來使用我們的插件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM