no.6.1ogre中级教程1

no.6.1ogre中级教程1

ID:34724742

大小:122.03 KB

页数:14页

时间:2019-03-10

no.6.1ogre中级教程1_第1页
no.6.1ogre中级教程1_第2页
no.6.1ogre中级教程1_第3页
no.6.1ogre中级教程1_第4页
no.6.1ogre中级教程1_第5页
资源描述:

《no.6.1ogre中级教程1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、中级教程一动画,两点间移动,和四元数基础目录§1介绍§2前期准备§3准备开始§4设置场景§5动画§6移动角色§7巩固练习§7.1简单的问题§7.2IntermediateQuestions§7.3DifficultQuestions§7.4ExpertQuestions介绍这个教程里包括怎么样得到一个模型,并添加模型动画,最后让模型可以在两个预先定义的点之间走动。在此将讲述如何用基本的四元数方法保持模型移动的时候正面一直朝着我们指定的方向。你必须一点点的将代码加入到你的项目中,并在每次加入新代码后编译并察看demo运行的结果。本课的最终代码在这里。前期准

2、备首先,这个指南假设你已经知道如何设置Ogre的项目环境以及如何正确编译项目。该例子同样使用STL中的queue数据结构。那么预先了解如何使用queue是必要的,至少你需要知道什么是模版。如果你不熟悉STL,那么我像你推荐STL参考[ISBN0596005563],它可以帮助你在将来花费更少的时间。准备开始首先,你需要为这个Demo创建一个新项目,在项目中添加一个名为"MoveDemo.cpp"的文件并加入如下代码:#include"ExampleApplication.h"#includeusingnamespacestd;classMo

3、veDemoListener :publicExampleFrameListener{public:MoveDemoListener(RenderWindow*win,Camera*cam,SceneNode*sn,Entity*ent,deque&walk) :ExampleFrameListener(win,cam,false,false),mNode(sn),mEntity(ent),mWalkList(walk){}//MoveDemoListener/*Thisfunctioniscalledtostarttheobjectm

4、ovingtothenextpositioninmWalkList.*/boolnextLocation(){returntrue;}//nextLocation()boolframeStarted(constFrameEvent&evt){returnExampleFrameListener::frameStarted(evt);}protected:RealmDistance;//ThedistancetheobjecthaslefttotravelVector3mDirection;//ThedirectiontheobjectismovingVe

5、ctor3mDestination;//ThedestinationtheobjectismovingtowardsAnimationState*mAnimationState;//ThecurrentanimationstateoftheobjectEntity*mEntity;//TheEntityweareanimatingSceneNode*mNode;//TheSceneNodethattheEntityisattachedtostd::dequemWalkList;//Thelistofpointswearewalkingt

6、oRealmWalkSpeed;//Thespeedatwhichtheobjectismoving};classMoveDemoApplication :publicExampleApplication{protected:public:MoveDemoApplication(){}~MoveDemoApplication(){}protected:Entity*mEntity;//TheentityoftheobjectweareanimatingSceneNode*mNode;//TheSceneNodeoftheobjectwearemoving

7、std::dequemWalkList;//AdequecontainingthewaypointsvoidcreateScene(void){}voidcreateFrameListener(void){mFrameListener=newMoveDemoListener(mWindow,mCamera,mNode,mEntity,mWalkList);mFrameListener->showDebugOverlay(true);mRoot->addFrameListener(mFrameListener);}};#ifOGRE_PL

8、ATFORM==OGRE_PLATFORM_WIN32#defineWIN32_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。