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