XSIVertexAnimationandOGREFacialAnimation.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XSI Vertex Animation and OGRE Facial Animation 目前OGRE只有XSI 5.x、Maya的导出器及oFusion Pro for 3ds max(收费)支持顶点动画的导出,而在众多建模软件中XSI(/)以其对变形动画的支持最为突出,OGRE提供的Facial Demo中使用的Dr. Bunsen的头就是XSI中提供的一个示例动画,该模型就是使用对顶点簇(cluster)的位置改变来产生动画。 XSI变形动画(顶点动画)的制作 1、 将Mode改为Shape Modeling Mode; 2、将关键帧移至期望的动画开始处存储并应用物体或顶点簇(cluster)的shape key,该key记录了物体的初始形状; 3、将关键帧移至所期望的变形动画结束处,利用Animation中的Deform对物体或顶点簇产生变形; 4、存储并应用shape key,该key记录了物体变形后的状态; 5、你可以在Animation中的Shape菜单的Shape Manager…改变物体变形的程度。 在OGRE中播放顶点动画 我们需要从ogre官方网站上下载XSI模型导出器,安装后(安装过程中需要XSI 5.x的目录)在XSI的Export中就会出现OGRE mesh/Skeleton菜单项,你需要按照下列步骤来导出顶点动画模型:SoftImage XSI 5.0 Exporter v1.2.3 1、 选中需要导出的模型; 2、在ogre export的Basic页中输入导出mesh的路径及文件名,在Materials页中填入导出材质的路径及文件名(需要说明的是在该导出器中材质导出有BUG,不一定能正确导出材质),在Animation页中选中Export Vertex Animation复选框(其实,如果选中物体中有Vertex Animation或Export Skeleton,那么复选框会自动选上),如果模型包含动画,则在Animation栏目会出现动画的信息,包括:名字、开始帧、结束帧、采样频率; 3、按ok导出。 我们可以在ogre提供的Facial Demo基础上修改代码以适合导出的模型,同时,你可以利用OgreCommandLineTools中的OgreXmlConverter来将.mesh文件逆向转换为.xml文件便于研究模型及动画数据的格式,下面给出了一个简单球体顶点动画模型及其xml数据: :(省略) : [1] : : [2] : : [4] [5] [6] : : [8] [9] [10] [11] [12] [13] [14] [15] [16] OGRE程序实现分下面步骤: 1、 由于OGRE中采用了CEGUI(Crazy Eddies GUI System)作为GUI,所以我们可以通过其提供的CELayoutEditor来编辑出想要的GUI。下图是该程序的一个简单的GUI,右边空白区域作为场景渲染区; 2、 将其保存成一个layout文件,如aaa.layout,并拷贝至OGRESDK\media\gui下。 下面我着重对程序代码进行说明: 000001 #include 000002 #include 000003 #include 000004 #include 000005 #include 000006 #include 000007 #include 000008 #include 000009 #include 000010 #include 000011 #include 000012 #include 000013 #include 000014 #include OgreCEGUIRenderer.h 000015 #include OgreCEGUIResourceProvider.h 000016 #include ExampleApplication.h 000017 000018 // 将OGRE中的鼠标按键映射成CEGUI的按键 000019 CEGUI::MouseButton convertOgreButtonToCegui(int buttonID) 000020 { 000021 switch (buttonID) 000022 { 000023 case MouseEvent::BUTTON0_MASK: 000024 return CEGUI::LeftButton; 000025 case MouseEvent::BUTTON1_MASK: 000026 return CE

文档评论(0)

wuailuo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档