創(chuàng)建一個空的工程
我們首先在3DS Max創(chuàng)建面板里面建立一個簡單的幾何物體,稱之為”widget” 。可以通過視圖窗口里三個參數(shù)去修改它的幾何特性。Size表示輪廓尺寸,第二個參數(shù)left表示物體左翼的外延,第三個參數(shù)right表示右翼的外延。
首先我們?nèi)チ私庖幌略鯓咏⒁粋€工程,可以通過以下兩種方法:
1. Using the Appwizards
2. Manually
某些插件程序只能通過手動創(chuàng)建。
簡便起見,只介紹第一種方法。
Using the Appwizard
1.Wizard Installation
以下介紹Visual Studio中的插件應用程序向導(簡記Appwizard),它是運行在Visual Studio中的一個程序。首先我們必須在Visual Studio中安裝Appwizard,步驟如下:
首先用記事本打開MaxPluginWizard.vsz文件(位于MAXSDK\Howto\3DSMaxPluginWizard目錄下),編輯參數(shù)ABSOLUTE PATH為3dsmaxPluginWizard根目錄所在的新的路徑。目錄名結束位置不要加反斜線。假如新路徑為:
c:\ Program Files\Autodesk\3ds Max 9 SDK\maxsdk\howto\3dsmaxPluginWizard。則修改為:
Param="ABSOLUTE_PATH
= c:\Program Files\Autodesk\3ds Max 9 SDK\maxsdk\howto\3dsmaxPluginWizard"。
(原來baidu的說明是有[]的,即[c:\Program Files\Autodesk\3ds Max 9 SDK\maxsdk\howto\3dsmaxPluginWizard]),但我試過在wizard的下一步變成空白頁,去掉[]即可)。
再從3dsmaxPluginWizard目錄下拷貝以下文件到Visual Studio 的安裝目錄下的vc/vcprojects文件夾下(通常為C:\Program Files\Microsoft Visual Studio .NET\Vc\vcprojects)。
• 3dsmaxPluginWizard.ico
• 3dsmaxPluginWizard.vsdir
• 3dsmaxPluginWizard.vsz
3ds Max Plugin Wizard project將出現(xiàn)在Visual Studio中的File > New:Projects > Visual C++ Projects下。
2.建立工程
在Visual Studio中選擇一個新的工程,F(xiàn)ile > New > Project....,在出現(xiàn)的對話框里選擇3ds Max Plugin Wizard,并填入工程的名字和存儲路徑
Figure 2 The new project dialog in Visual Studio, and the 3ds Max Plugin Wizard
點擊ok按鈕之后出現(xiàn)如下窗口:
Figure 3 Shows the many types of plugins that can be created with the Appwizard.
從Plugin type列表中選擇Procedural objects。再選擇Plugin Details標簽:
Figure 4 Plugin details.
按照Figure 4所示進行設置,在本例中選擇插件程序所繼承的基類為SimpleObject2,第三個空白表示插件程序類型,它將會出現(xiàn)在Max 的創(chuàng)建面板下的列表中。最后一項輸入描述。
下一步選擇Project Details標簽:
Figure 5 Input and output information.
選擇3ds Max SDK文件夾路徑,設置為<Max SDK/include>和<Max SDK/Lib>的根目錄。填入文件的輸出目錄和執(zhí)行路徑。選擇Finish完成創(chuàng)建。
如下Figure 6是完成后的解決方案瀏覽器顯示,其中包括三個子文件,在source files文件下,appwizard創(chuàng)建了兩個cpp文件,其中Dllentry.cpp包含了plugin的入口函數(shù)DLLMain,wizard已經(jīng)填入代碼,不需要我們修改。Widget.cpp是plugin的實現(xiàn)文件。
Figure 6 The Solution Explorer shows the files created by the appwizard.
本例中的CPP文件沒有實現(xiàn)功能的具體代碼,但是能對此工程編譯運行正常。