前两天突然看到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系统下。
下一步,随变给工程起个名字就行,我们只是学习,我就叫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),如下图,这回灯光是在正中间了。效果不错。
博客中有其他文章,欢迎查看:
http://fengmm521.blog.163.com/
Demo下载地址:
http://download.csdn.net/detail/fengmm521/4778411