前兩天突然看到cocos3d這個東西,之前一直在研究cocos2d,自已把cocos3d開發庫下載下來之後,就開始自已試了,遇到了很多的問題,下邊就根我一起看看怎麼用cocos3d載入3dMax的模型吧。轉載請說明出處:http://fengmm521.blog.163.com/blog/static/25091358201210173463909/
第一個問題:3Dmax檔案轉成pod檔案格式。
這個問題我找了老半天,網上常用的方法就是先把3Dmax的模型檔案用3Dmax開啟,再另存新檔.dae格式的文字檔。
3Dmax一定要用英文版的。中文版的沒有辦法輸出DAE檔案,而且最好的軟體版本是3Dmax 2011。這裡不多說了。
DAE檔案轉換成pod檔案,使用"Collada2POD"軟體,網上下吧,我是從網上下的。
第二個問題:材質帖圖的載入問題。
網上有一個pvr的圖片載入問題,反正我是從來都沒有在cocos2d或者3d中載入成功過,也不知道為什麼。聽說是圖片一定要是2的n次方的長和寬才行。具體為什麼我還真不知道,所以我的帖圖也用的是png格式。所以我沒有和那個pvr的SDK,不過這裡邊有一些工具還是不錯的。比如PVRshaman,用這個軟體可以開啟pod格式的檔案,可以查看pod中的模型對象名稱,然後可以在cocos3d中單獨調用這些3D對象。
這裡有一個問題,3Dmax的圖片格式是.dds,而我們怎麼才能把這個圖片轉成png格式呢,問題很簡單,用photoshop,用之前在網上下載一個photoshop開啟dds檔案的外掛程式放到photoshop的指定檔案夾下就行。然後,開啟DDS檔案,另存新檔png檔案就OK了。
第三個問題,就是cocos3d的使用問題了。
如果你有cocos2d的基礎,學cocos3d應該不在話下。這裡不多說了,直接看我下邊的教程吧。
詳細圖文教程:
首先,我們要從網上下載一個3Dmax模型檔案。(下邊圖片中的dds檔案就是3Dmax的帖圖檔案,後邊我們要用photoshop轉成png格式的圖片。圖片中的DAE檔案是我轉換好了的。先不要管)
然後用3Dmax開啟看一下效果:
選擇你要匯出的模型,把你要輸出的3D模式匯出為DAE格式的檔案:
好了,這個時候我們用記事本,或者別的什麼可以查看文字文件的軟體把DAE檔案開啟,我們會看到DAE檔案其實是一個XML的文本件。因為3Dmax用的帖圖檔案是dds格式的圖片,所以這個DAE檔案中的圖片載入資訊自然也是dds格式的了。我們所要作的就是把這裡邊的dds圖片名稱換成我們後邊會用到的png格式圖片名稱就行。看,在DAE檔案中找到這些dds圖片資訊,改之為png。圖片中我只改了一個,你當然是要把6個全改了。
改過之後記得儲存。然後我們會用"Collada2POD"軟體對這個DAE檔案進行轉換。一般都用後邊的GUI程式,簡單直觀。
開啟Collada2POD,然後點最下邊的載入DAE檔案,設定一下,具體這個東西要怎麼設定,我也不太清楚,如果有人知道就給我說一下吧,反正我按下邊的設定好用。我也就沒有追究怎麼設定參數。點右下角的convert開始轉換,有的人在這裡出現過非常多的問題,各種各樣的,我之前就出現過,點了轉換之後什麼情況都沒有,只有下邊圖片的最上邊兩行字,沒有下邊的對象轉換,然後,也沒有找到pod格式的檔案。後來才發現,還是3Dmax的問題,一定要裝英文版的,且記,外國人給中國人用的軟體都是閹割過的殘疾軟體。所以只要是國外軟體,能用英文要盡全力用英文,除非你覺得中文用著還行。對你的工作沒有影響。或者你不會去用一些進階用法。然後就是圖片處理了,我們要用photoshop的dds外掛程式來開啟3Dmax模式給的帖圖。然後另存新檔png格式。我的這個模型中有6張圖,所以所有的圖都要另存。
好了,存好之後我們可以用PVRShaman開啟這個pod檔案看一下效果。
發現帖圖好像位置不對,但是下邊的載入都成功了。先不管這些,我們把這個pod載入到cocos3d裡邊看一下效果再說,因為之前我用這個載入png格式圖片的時候就是位置不對,因為這個PVRShaman軟體是專門給他們公司的PVR圖片設計的。這裡不用這個軟體查看也行,沒有這個軟體也不會影響我們載入3D模型到ios。下邊把轉換好的pod檔案,png檔案一起複製到MAC系統下。
建立一個cocos3d的工程項目:
下一步,隨變給工程起個名字就行,我們只是學習,我就叫girl了:
接下來把圖片和pod檔案加入到專案檔中。
加入之後,對代碼作一些修改。把那個"hello world”注釋掉。因為我們要載入的是美女模型。這裡我執行個體化了一個CC3PODResourceNode對象。起了一個名字,再載入了我們的girlmm.pod的模型檔案,圖片檔案不用管,cocos3d會自動載入,只要我們的圖片名字和格式沒有問題就行。
我們把上邊的hello world的pod載入代碼也注釋掉。要不然如果你的模型沒有那個hello world模型大,會被當住的。
然後,我們運行程式,看一下效果,不過好像有一個錯誤。
不管,把這個錯誤注釋掉,接著運行。
運行之後,好像有情況,不過這圖象怎麼好像有點亂,有點遠,看不給楚,我們改一下鏡頭的座標吧。拉近一點看看是怎麼回事。
把鏡頭座標從(0.0,0.0,6.0),我改成了,(0.0,1.0,2.0),很明顯這個座標,是在原有的二維座標上加了一個遠近的Z座標,這回看清了,帖圖確實有問題。我們看一下帖吧。
發現這一張圖上有很多相同的圖片,有可能是這裡出了問題。我們回到photoshop中改之。把後邊的沒有用的圖刪掉。用photoshop開啟圖片,發現不能改,我們就複製一層。如。
然後我們改變畫布大小,這裡不能用改變圖象大小,那個樣圖片會變形。把上邊的寬從1024改成和高一樣的512,然後確定,把高前邊的圖片移動到剛剛好的512*512的位置。看下邊的效果。然後,我們再儲存圖片,並對所有的其他圖都進行同樣的修改。看,這回的圖片大小中要麼是512X512,要麼是256X256。
把這些圖片放入MAC系統下的girl項目下的原來圖片的位置,直接全都替換(點Replace)。
替換了之後,什麼都不用管,我們再運行一下程式試試,看看效果。哈哈,這回圖象正常了,不過有點遠,有點看不清美女的臉。我們再把鏡頭拉近。(其實就是改鏡頭座標)
這臉看不清,好像這燈光有點左了,右邊臉太暗,看燈光座標,發現燈光座標果然在左邊-2處(-2.0,0.0,0.0),我們改燈光座標,讓燈光在中間,改成(0.0,0.0,3.0),如,這回燈光是在正中間了。效果不錯。