一、目标
一直想做一个战斗类的DEMO,苦于没有资源,当时Torchlight出来时,感觉很不错,于是想用OGRE也来做一个,后面发现也没那么容易,
搞各种编辑器就已经会让人蛋疼死。
现在U3D出来了,如果能把Torchlight资源导入U3D,那真是方便好多。
二、工具准备
1.Torchlight1的游戏,虽然2已经出来了,但不知道有没有加密什么的,1已经是被人试过能用的,保险一些,
我是上游戏星空上下的。。
2.Blender
http://www.blender.org/download/get-blender/
3.python
4.OgreCommandLineTools
进入http://www.ogre3d.org/download/tools主页后,看到下面OgreCommandLineTools一栏,针对你的系统选择版本下载。
5.下载blender import.py
http://www.ogre3d.org/tikiwiki/BlenderImport
发现这个对新的blender已经不能用了,换上这个:
http://code.google.com/p/torchlight-to-blender/
直接点击sources即可下载。
6.修改IMPORT_OGREXMLCONVERTER = C:\OgreCommandLineTools\OgreXmlConverter.exe为你的OgreCommandLineTools的目录的绝对地址
7.解压缩游戏目录内的 Pak.zip 压缩文件,模型文件在models文件夹中
三、主要工作
下面我主要以Cat这个模型做为一个例子来操作。
1.我们可以看到有以下文件:
cat.mesh:指的是模型的数据
cat.materail:是模型的材质,贴图信息也存于此
cat.skeleton:是模型的骨骼动画信息文件了
2..骨骼动画并不能直接用,要用skeleton的话,就得用OgreXMLconvert将.skeleton文件转换回xml文件,在Animation里添加link的动作文件。
这估计是runic对OGRE做的改动了,改用了其它的方式(cat.animation那几个文件)来引用动作文件,在原OGRE里我们只能通过在Animation的文件里加入这些信息。
首先把Cat.skeleton转为Cat.xml。直接拖进OgreXMLConvert就好了,打开生成的xml文件,在</animations>后面加上animationlink,如下所示:
<animations> <animation name="bind" length="0"> <tracks /> </animation> </animations> <animationlinks> <animationlink skeletonName="Attack1.SKELETON" scale="1"/> <animationlink skeletonName="Attack2.SKELETON" scale="1"/> <animationlink skeletonName="Fidget.SKELETON" scale="1"/> <animationlink skeletonName="Idle.SKELETON" scale="1"/> <animationlink skeletonName="Run.SKELETON" scale="1"/> <animationlink skeletonName="Walk.SKELETON" scale="1"/> </animationlinks>
再把这个xml拖回去,让它转为cat.skeleton的二进制文件。
然后把新生成的cat.skeleton文件覆盖掉原来的。
3.打开blender
先设置一下导入。
这样设置之后我们就可以在Blender的import里看到它了
点击选择要加载的mesh。然后就可以在场景中看到了:
从目前情况来看,这骨骼好像都有点问题,而且动画不能用。。发现那个新的脚本就不支持骨骼动画的导入。所以暂时先导入模型吧,动画得再看下了。
在U3D中的效果:
没有动画真是蛋疼,看别人的是有用低版本的blender和mesh import,似乎是有带动画的(看参考链接)。
参考:
1带动画的Dog导入U3D
http://game.ceeger.com/forum/read.php?tid=2598&page=1
2.为Torchlight做Mod