• 3DsMax導出插件(jiàn)編寫(xiě) vs2010和3dsmax2011的配置方法

    2017/9/1      點擊:

    作為3D開發人員,*是3D引擎開發人員,經常(cháng)會(huì)接觸到各種三維模型的(de)數據(jù)。雖然說3dsmax已經可以導出很多格式的模型,不過總是(shì)不一定合適自己用。所(suǒ)以總有一種想自己寫一個導(dǎo)出插件,讓3dmax導出自(zì)己想要的數據格(gé)式。這裏為大家介紹一下(xià)怎樣為3dmax寫導出插件的步:怎樣配(pèi)置(zhì)vs和maxSdk。

    這裏你需要的東西有兩個:
    1、一(yī)個完整版的3dsMax。
    2、一(yī)個Visual Studio。
    為什麽是要完整版的3dsMax呢?這是因為(wéi)完整版本的3dsMax的安(ān)裝文件自帶有maxSdk。這(zhè)是很重要的。不同版本的3dsMax,帶的sdk會不一樣。你拿了其他版(bǎn)本的sdk做了的(de)插件,不一定適合你當前的(de)3dsmax使用的。很多人寫這個配置教程,會告(gào)訴你上網去找maxSdk。其(qí)實不需要這麽麻煩的。下麵會告訴大家怎樣(yàng)安裝。我這裏拿(ná)的是(shì)我當前使用的(de)3dsMax2011的64位版來(lái)做示範。其他的版本做法是一樣的。
    那麽Visual Studio有什麽要求呢?有些人寫的教程會告訴你,每個版本的max的sdk會(huì)對應不(bú)同版本的vs,*好(hǎo)對應。這樣(yàng)說也不算錯。不(bú)過(guò)其實這個對應關係沒那麽嚴(yán)格的,我下麵會告訴大家怎樣跨(kuà)版本配置。比如max2011的sdk對應的是vs2008,我下麵將會用vs2010來(lái)配(pèi)置。

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