• 您的位置:首頁 > 新聞動態 > 技術文章

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

    2017/9/1      點(diǎn)擊:

    作為3D開發人員,*是3D引擎開發(fā)人員,經(jīng)常會接觸到各種三維模型的數據。雖然說3dsmax已經可以導出很(hěn)多格式的模型(xíng),不過總(zǒng)是不一定合適自己用。所以(yǐ)總有一種想自己寫一(yī)個導出插件,讓3dmax導出(chū)自己想要的數據格式。這裏為大家介紹一下怎樣為(wéi)3dmax寫導出插件(jiàn)的步:怎樣配置vs和maxSdk。

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

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