• 您的位(wèi)置:首頁 > 新聞動態 > 技術文章

    3DsMax導出插件編寫 vs2010和3dsmax2011的配(pèi)置(zhì)方(fāng)法

    2017/9/1      點擊:

    作為3D開發人員,*是3D引擎開發人員,經常會接觸到各種三維模(mó)型(xíng)的數據。雖然說3dsmax已經可以導出很多(duō)格式的(de)模型,不過總是不(bú)一定合適(shì)自己用。所以總有一種想自己寫一個導出插件,讓3dmax導出自己(jǐ)想(xiǎng)要的數據格(gé)式。這裏為大家(jiā)介紹一下怎樣為3dmax寫導出插件的步:怎樣配置vs和maxSdk。

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

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