欢迎来到天天文库
浏览记录
ID:34724742
大小:122.03 KB
页数:14页
时间:2019-03-10
《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_
此文档下载收益归作者所有