3DsMax導出插件編寫 vs2010和3dsmax2011的配置方法
2017/9/1 點擊:
作為3D開發人(rén)員,*是3D引擎(qíng)開發人員,經常會接觸(chù)到各種三維模型的數據。雖然(rán)說3dsmax已經可以(yǐ)導出很多格式的模型(xíng),不過總是不一定合適自己用。所以總(zǒng)有(yǒu)一種想自己寫(xiě)一個導出插件,讓3dmax導出自己想要的數據格式。這裏為大家介紹一下怎樣為3dmax寫導出插件的步:怎樣配(pèi)置vs和maxSdk。
這裏你需(xū)要的東西有兩個:
1、一個完整版(bǎn)的3dsMax。
2、一個(gè)Visual Studio。
為什麽是要完(wán)整版的3dsMax呢?這是因為完整版本的3dsMax的安裝文件自帶有maxSdk。這是很重要的。不同版本的3dsMax,帶的sdk會不一樣。你拿了其他版本的sdk做了的插件,不一定適(shì)合你當(dāng)前的3dsmax使用的。很多人寫這個配置教程,會告(gào)訴你上網去(qù)找maxSdk。其實不需要這麽麻煩的。下麵會告訴大家怎樣安(ān)裝。我這裏拿的(de)是我當(dāng)前使用的3dsMax2011的64位版來做(zuò)示範。其他的版本做法是(shì)一樣的。
那麽Visual Studio有什麽要求呢?有(yǒu)些人寫的教程(chéng)會(huì)告訴你,每(měi)個版本的max的sdk會對應不同版(bǎn)本的vs,*好對應。這樣說也不(bú)算錯。不過其實這個對應關(guān)係沒那麽嚴格(gé)的,我下麵會(huì)告訴(sù)大家怎樣跨(kuà)版本配置。比如max2011的sdk對(duì)應的是vs2008,我下麵將會用vs2010來配置。
好,把上麵2樣東西準備好之(zhī)後(hòu),3dsmax正常安裝(zhuāng),vs也正常(cháng)安裝,準備工作就完成了,接下來阿趙和大(dà)家就一起來裝這個maxSdk:
運行完(wán)整版本的(de)3dsMax安裝文件(jiàn),會看到以下界麵,我們(men)選擇(zé)“安(ān)裝工具(jù)和實用程序”:
在這裏選(xuǎn)擇需要安(ān)裝的工具,我們需要(yào)的是3ds max 2011的(de)sdk:
安裝完之後,會在(zài)安裝目錄找到一個howto文(wén)件夾,裏麵有(yǒu)個3dsmaxPluginWizard文件夾,在裏麵有個readme.txt文檔,文檔裏麵說明了怎麽去配置這個sdk的(de)。其實在(zài)安裝完之後,我(wǒ)們可(kě)以(yǐ)把這個maxsdk的文件夾隨(suí)便的移動到我們想要的地方的。不過在配置之前,*好先移動好,開(kāi)始(shǐ)配置之後,就別動這(zhè)個文(wén)件夾(jiá)的路(lù)徑了。
在(zài)配置之前,這個文件夾的屬性(xìng)是隻讀的,我們先把整個文件夾(jiá)的隻讀取(qǔ)消,然(rán)後(hòu)開始配置:
使用記事本(běn)打開同文件夾下的3dsmaxPluginWizard.vsz,然後找(zhǎo)到下圖用紅線下劃的地方。
默認的Wizard=VsWizardEngine.9.0,代表的是對應vs2008版本。我現在需要使用2010版本,所以把它改成了10.0
然後下麵(miàn)的ABSOLUTE_PATH改成(chéng)當前的3dsmaxPluginWizard文件夾的路徑
改(gǎi)完之後,我們把(bǎ)3dsmaxPluginWizard文件夾下的這三個文件複製:
然後找到vs2010的安裝文件夾(jiá),找到VC/vcprojects文件夾(jiá),把(bǎ)剛才複製的三個文件放到這個文件夾下:
然後我們就可以打(dǎ)開vs2010,創建新項目。這時候會在c++項目裏麵看到了3dsmax插件的類別,選擇它,然後在下麵的項目名(míng)稱和路徑裏麵輸入自己想要的名(míng)字和路徑。
如果你之前的(de)配置正確,將會彈出設置向導,如果沒有彈出,則要檢查之前的步驟了。我們(men)選擇File Export:
這裏是插件的詳情,直接下一步(bù)就行:
這裏是項目詳情(qíng),項輸入maxsdk的路徑,第二項(xiàng)輸入插(chā)件想輸(shū)出的路徑,比如(rú)3dsmax安裝(zhuāng)目錄的plugins文件夾,第三項輸入需要調試的3dsmax的安裝目(mù)錄。三項都是可(kě)以在項目建立之(zhī)後修改的。
按finish後,由於這個版本的sdk對應(yīng)的是vs2008,現在我用(yòng)的是2010,所以有(yǒu)一個轉(zhuǎn)換版(bǎn)本的過程
這時候,項目應該已經(jīng)創建成功。如果沒有創建(jiàn)成功,則檢(jiǎn)查之前的步驟。通常是因為3dsmaxPluginWizard.vsz裏麵的vs版本設置錯誤。如果創建(jiàn)成(chéng)功後,我們(men)在解決方案資源管理器裏麵找到你的項目的cpp,打開。
在(zài)cpp裏麵,修改Ext方法裏麵的返回,這裏是你導出的模型的格(gé)式後綴名,這裏我是改成了”azhao“,再改ShortDesc方法裏麵的返回(huí),這裏是模型的描述,我(wǒ)改成了”阿趙的模型格式“。
現在(zài)按調試,會彈出錯誤:
這是因(yīn)為調試的目標沒有設置正確,可以找到項目屬性修(xiū)改:
在配置屬性裏麵的調試,修改命令項為你的3dsmax.exe路徑:
這是因(yīn)為調試的目標沒有設置正確,可以找到項目屬性修(xiū)改:
在配置屬性裏麵的調試,修改命令項為你的3dsmax.exe路徑:
按(àn)道理,現在我們再開始(shǐ)調試,你的(de)3dsmax就(jiù)會啟動了。如果你是為32位的3dsmax做配置,那麽整個配(pèi)置過程已經完成了。
但我這裏3dsmax啟動後報錯了,這(zhè)是因為我的3dsmax是64位的,剛才調試生成的32位插件不能用。
接下來我們將要把項目改成64位的。先(xiān)打開項目屬性,在配置管(guǎn)理器裏麵,把Win32改成x64:
改完之後,之前我們的所有配置都沒(méi)了,需要逐個去配置:
先配置調試程序路徑(jìng):
然後配置輸出路(lù)徑
配置生成程序數據(jù)庫文件的路徑
然後配置輸出路(lù)徑
配置生成程序數據(jù)庫文件的路徑
好了,64位修改完成,我們再次進行調試,3dsmax應該就能正常打開了。
我們隨便在場景裏麵建立一個茶壺,然後導出。現在我們可以在選擇(zé)導出格式的地方,找到我們剛才指(zhǐ)定的格式了,就(jiù)是”阿(ā)趙的模型格式“,後綴名是(shì)”azhao“。
確定(dìng)保存,會打開一個對話框,不過裏麵都是(shì)一(yī)些默認的東西,沒(méi)有任何內容的,因(yīn)為我們隻是(shì)完成了配置的步(bù)驟,沒有開始寫導出的實際內容。
在(zài)vs裏麵找到DoExport方法,在裏麵打一個斷點。再次去選擇導(dǎo)出我們(men)的格式,vs應該就能進入斷(duàn)點了(le)。DoExport方法(fǎ)就是(shì)導出方法的入口了。
如果你途中發現出現問題,很有可能是以下幾種問題:
1、下載的MaxSdk有問題,建議使用完整版3dsMax自帶的sdk。
2、忘記取消maxSdk文件夾的隻讀屬性,這樣在新建項目或者編譯的時候都會出(chū)錯。
3、3dsmaxPluginWizard.vsz裏麵設置的vs版(bǎn)本不對。9.0對應的是vs2008,10.0對應的是vs2010,11.0對應的是vs2012.
4、調試的(de)時候出(chū)錯,有可能是沒有設置對調試對象,要設(shè)置為(wéi)3dsMax的(de)exe。
5、調試的時候沒有報錯,卻沒有出現導出的選擇。有可能是導出(chū)保存的路(lù)徑不對,要保存在3dsmax的安裝路徑裏麵的插件文件夾,比如plugins或者stdplugs文件夾。
6、調試的時候3dsmax啟動了,但在啟(qǐ)動的途中報錯。這有(yǒu)可能是使用的sdk和3dsMax版本不對(duì)應,或者是32位插件和64位軟件不對應。
這個過程雖然簡(jiǎn)單,不過卻會遇到很多默默奇妙的小問題,網上雖然相(xiàng)關的教程不少,但起碼我自己對著很多(duō)個教程都沒(méi)有配置成功,所(suǒ)以才把自己的配置過程記錄下來,希望能給以後需(xū)要配置的人一個參考。
- 上一篇:VIRTOOLS立體設(shè)置方(fāng)法 2017/9/1
- 下一篇:3DS MAX SDK插件開發(1) 2017/9/1
