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