• 使用火炬之光资源(转)


    今天去ogre官网赚了一圈,看到了一款用Ogre做的游戏TorchLight,不妨下下来玩玩。

    游戏做的很好,说明ogre的强大。

    在安装目录里看到了ogreMain.dll OIS.dll等熟悉的dll,忽然看到了resources.cfg文件,里面定义了一个pak/zip文件路径。

    好了找到了zip,600M,里面装了啥?ogre资源!模型,骨骼,贴图。天!!!!。

    但是里面的模型,骨骼动画并不能直接用,要使贴图起作用要把material里的texture_unit里的png改为dds,要用skeleton的话,就得用OgreXMLconvert将.skeleton文件转换回xml文件,在Animation里添加link的动作文件。

    以dog.mesh为例,不知道大家研究过ogre的mesh文件没有,还有skeleton文件,自己转化成xml文件看看吧。

    把dog.skeleton转化为xml文件后(用OgreXmlConverter,源码tools注意不是SDK里自己编译一下,这个工具就出来了),发现animation里没有链接skeleton,自己添加skeleton link吧。


        </bonehierarchy>
        <animations>
            <animation name="bind" length="0">
                <tracks />
            </animation>
        </animations>
        <animationlinks>
            <animationlink skeletonName="attack1.SKELETON" scale="1" />
            <animationlink skeletonName="attack2.SKELETON" scale="1" />
            <animationlink skeletonName="attack3.SKELETON" scale="1" />
            <animationlink skeletonName="bark.SKELETON" scale="1" />
            <animationlink skeletonName="fidget_alert.SKELETON" scale="1" />
            <animationlink skeletonName="fidget_shake.SKELETON" scale="1" />
            <animationlink skeletonName="get_hit.SKELETON" scale="1" />
            <animationlink skeletonName="hit.SKELETON" scale="1" />
            <animationlink skeletonName="idle.SKELETON" scale="1" />
            <animationlink skeletonName="run.SKELETON" scale="1" />
            <animationlink skeletonName="walk.SKELETON" scale="1" />
        </animationlinks>
    </skeleton>

    注意灰色的部分,就是添加的link,skeletonName是动作文件。

    再用OgreXmlConvert将skeleton转化回二进制文件。大功告成。好了,可以自己使用这些资源了。真是踏破铁鞋无觅处,得来全不费工夫。

    600M的模型资源啊(其中有些是音乐),还有动画!天!发了。世界上顶级的美工做得东西就可以用了。

    其中我还发现一个CEGUI自定义的类型,那UI也挺漂亮。


    这就是那个主人公携带的宠物狗了,以后用它在自己游戏里当小怪!

    补充:

    1.将.skeleton文件直接拖入OgreXmlConverter.exe生成.xml文件,之后进行修改后再拖入OgreXmlConverter.exe后又重新生成.skeleton文件。

    2.ogre能直接读取dds格式,torchlight中都是使用dds图片格式,要想在ogre中直接使用其模型,在.material(如dog模型)中,直接将png给为dds

    即可。

    material pet
    {
    technique
    {
       pass
       {
        ambient 0.588 0.588 0.588
        diffuse 0.588 0.588 0.588
        specular 0 0 0 0
        emissive .2 .2 .2
        scene_blend alpha_blend
        alpha_rejection greater 128
        texture_unit
        {
         texture dog_pet.dds
        }
       }
    }
    }

  • 相关阅读:
    ZTUnity Profiler概述及Profiler window 说明
    利用反射球实现镜面效果
    (乱入)FingerGesture
    生成万花筒效果并截图
    (六)添加adb命令
    超时处理
    判断是否存在UI被触摸
    UI控件拖动失效
    (五)Unity插件生成
    (四)适配器Adapter
  • 原文地址:https://www.cnblogs.com/lancidie/p/1903550.html
Copyright © 2020-2023  润新知