`

Ogre overlay实现帧动画

    博客分类:
  • Ogre
阅读更多

ogre Dome上有动态纹理的效果演示,这里讲的不是移动或旋转纹理坐标产生的纹理动态效果,而是由几张图片更换显示产生的动画效果,这种效果在2d中指的是帧动画。首先要准备好一组图片,如animotion1.jpg, animotion2.jpg, animotion3.jpg, animotion4.jpg. ogre的材质的Texture-Uint中有anim_texture这个属性(可以参考ogre中文帮助手册),它是专门为作帧动画准备的。接着定义一个简单的overlay, 以下是我的简单定义:

howlet/BigMapOverlay
{
    zorder 0
    container Panel (bigMap)
       {
           horz_align left
           vert_align top
           metrics_mode relative
           left 0
           top 0
           width 1
           height 1
 
    element Panel (BigMap/Player)
           {
               horz_align left
               vert_align top
               metrics_mode pixels 
               left 0
               top  0
               width 20
               height 20
 
               material BigMap/Player
 }

 

material BigMap/Player的定义:

material BigMap/Player
{
    technique
    {
       pass
       {
         alpha_rejection greater 128 
         scene_blend alpha_blend
 
           texture_unit        //人物方向图标
           {
               tex_address_mode clamp
           }
       }
    }
}

 

然后我们通过TextureUnitState* pTexUint = OverlayManager::getSingleton().getOverlayElement(“BigMap/Player”)->getMaterial()->getTechnique(0)->getPass(0)->getTextureUnitState(0);就可以得到当前的texture_unit 也就是material BigMap/Player中的纹理。

接下来定义图片数组名:const Ogre::String animotion[4] = {"animotion1.jpg", "animotion2.jpg", "animotion3.jpg", "animotion4.jpg"}; 注意这4张代表的是不同的图片名字。

最后通过TextureUnitState::setAnimatedTextureName(const String* const names, unsigned int numFrames, Real duration = 0)可以直接设置动画。在我们这里是pTexUint->setAnimatedTextureName(animotion, 4, 4*0.1);就这样,简单得实现了动画效果。

setAnimatedTextureName这个函数可以参考官方说明。

分享到:
评论

相关推荐

    c# ogre overlay 实现MQuickGUI

    在"**c# ogre overlay 实现MQuickGUI**"这个主题中,我们将深入探讨如何使用C#语言和Ogre引擎的Overlay系统来构建MQuickGUI。Overlay系统是Ogre中用于在3D场景上叠加2D元素的功能,如菜单、提示信息或UI控件,这些...

    OGRE用OVERLAY支座角色头上的名称

    OGRE用OVERLAY支座角色头上的名称,象网游一样在人物头顶显示人物名字。是学习OGRE的朋友的一个很好的资料。

    OEGUISYSTEM基于OgreOverlayElement实现的GUI系统

    OEGUISYSTEM是基于OgreBites::Widget类实现的GUI系统.Widget是基于Ogre Overlay系统实现的.与其他GUI系统相比,OEGUISYSTEM可以自由的使用Ogre的材质脚本和Overlay脚本,从而创建强大的界面效果.

    一个ogre动画演示实例

    Ogre的动画系统是其强大功能之一,它支持骨骼动画、关键帧动画以及蒙皮动画等多种3D模型的动态表现形式。在Ogre中,动画主要通过Animation、AnimationState和Skeleton等核心类来实现。这些类共同构成了一个灵活且可...

    用Ogre实现无缝地图

    用Ogre实现无缝地图用Ogre实现无缝地图.用Ogre实现无缝地图.用Ogre实现无缝地图.

    论文研究-基于BVH驱动的OGRE骨骼动画.pdf

    OGRE游戏引擎中的角色动画将模型与骨骼文件进行映射。若想在不借助第三方建模软件重新制作模型和动画的基础上更改现有模型的动作,获取与模型匹配的骨骼数据成为一个难题。提出了一种将标准BVH动作文件解析为XML文件...

    OGRE实现天气昼夜变幻效果源码

    《使用OGRE实现天气昼夜变幻效果的源码解析》 在3D游戏开发或虚拟现实应用中,模拟真实的天气和昼夜变化是提升用户体验的关键因素之一。OGRE(Object-Oriented Graphics Rendering Engine)是一个强大的开源3D图形...

    骨骼动画例子附源代码

    在本例中,"骨骼动画例子"提供了源代码,使得学习者能够深入理解这一技术的实现细节。 骨骼动画的核心是将3D模型的各个部分与一个虚拟的骨骼结构关联起来。每个模型的几何形状部分都绑定到骨架的特定关节上,然后...

    ogre模型下载

    《Ogre模型与骨骼动画详解》 在游戏开发和3D图形编程领域,Ogre是一个广泛应用的开源3D渲染引擎。它提供了强大的图形渲染能力,让开发者能够创建出精细且复杂的虚拟世界。在这个主题中,我们将深入探讨"ogre模型...

    BVH-OGRE.rar_BVH-OGRE.rar_Ogre_ Ogre_bvh_ogre_ogre bvh

    本资料包“BVH-OGRE.rar”是针对Ogre引擎学习的资源,特别是关于使用 BVH(Bone Veterinary Hierarchy,即骨架层次结构)文件格式来实现骨骼动画的教程。 BVH是一种标准的3D骨骼动画文件格式,常用于动作捕捉数据的...

    ogre中文教程 ogre中文教程

    在模型和动画方面,教程会介绍导入和处理3D模型的步骤,以及如何实现骨骼动画和关键帧动画。这对于制作角色和动态物体至关重要。 光照和渲染是3D效果的重要组成部分。在教程中,你将学习各种光源类型,如点光源、...

    战争之雾的实现,使用OGRE渲染

    《使用OGRE渲染实现战争之雾》 在游戏开发领域,战争之雾(Fog of War)是一种常用的技术,用于模拟战场上的视野限制,增加游戏的真实感和策略性。本项目通过OGRE(Object-Oriented Graphics Rendering Engine)...

    Ogre在MFC下的多窗口实现

    本文将深入探讨如何在Microsoft Foundation Class (MFC) 应用程序框架下,利用Ogre引擎实现多窗口展示同一个场景(Scence)的详细过程。 Ogre是一个功能强大的3D渲染引擎,它提供了丰富的图形处理能力,包括硬件...

    _Ogre3D.rar_Ogre_ Ogre_ogre_ogre3d 教程

    5. **资源管理**:Ogre3D拥有强大的资源管理系统,可以处理纹理、模型、材质、动画等各种资源。教程会教授如何加载和管理这些资源。 6. **材质和光照**:详细阐述Ogre3D的材质系统,包括设置颜色、纹理、光照模型等...

    三维动画在OGRE中应用的研究

    本研究主要关注在OGRE中实现角色动画的技术和方法。 1. **角色建模与动画基础** 角色建模通常使用专业工具,如3ds Max、DeepPaint和Filmbox。Softimage 3D是早期游戏开发中常用的一款工具,提供全面的游戏开发功能...

    ogre游戏引擎资源

    同时,Ogre提供了强大的动画系统,支持骨骼动画、皮肤绑定以及关键帧动画,能够满足大部分角色动画需求。 在资源管理方面,Ogre有完善的资源管理机制,包括纹理、模型、脚本、材质等资源的加载、缓存和卸载。这使得...

    基于OGRE实现的小游戏Wii_Bowling(保龄球)

    《基于OGRE实现的小游戏Wii_Bowling(保龄球)》 在这个项目中,我们探讨了如何利用OGRE(Object-Oriented Graphics Rendering Engine)游戏引擎来开发一款类似于Wii上的保龄球小游戏。OGRE是一款强大的、开源的3D...

    Ogre经典教材(中文版)

    5. **动画系统**:理解Ogre的骨骼动画和关键帧动画机制,用于创建角色动作和物体行为,为3D世界注入生命力。 6. **物理模拟**:探讨如何结合Ogre与其他物理引擎,实现真实世界中的碰撞检测和物理交互。 7. **输入...

Global site tag (gtag.js) - Google Analytics