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