虚拟现实基础与VRML编程_12.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟现实基础与VRML编程_12

江西农业大学 计算机与信息工程学院 虚拟现实基础与VRML编程 授课教师:赵应丁 E-Mail:zhaoyingding@163.com 第十二讲 VRML动画 1.VRML动画机制 2.时间传感器 3.动画插补器及应用 1.VRML动画机制 动画基本概念 动画是人为设置的随时间规律变化的场景效果。 VRML动画依据一个给定的时间传感器以及一系列插补器节点对场景中的动画进行控制,其基本思想是由时间传感器给出控制动画效果的时钟,该时钟包含了动画效果的开始效果、停止时间、循环周期以及是否循环等动画控制参数;之后,通过该时钟的事件输出在虚拟世界中驱动插补器节点以产生相应的动画效果。 1.VRML动画机制(续) 事件与路由 事件由事件值和时间戳组成。 事件值类似于节点域值,可以有不同的数据类型; 事件戳则是描述事件机制时序流程的一种概念性装置,同时还可以供脚本节点依据用户动作的顺序或事件之间的时间间隔处理事件。 改变VRML节点域值得方法是通过路由发送一个事件到相应节点的对应域,而事件又区分为入事件(EventIn)和出事件(EventOut)。 入事件要求节点改变自己某个域的取值,而出事件则要求改变其他节点的域值。 1.VRML动画机制(续) 某个节点的事件出口和其他节点的事件入口之间用于传递事件的通道称为路由,通过路由可以绑定多个节点,从而形成事件体系。 VRML所提供的ROUTE语句,是用来在节点之间建立事件通道的一种语法构件。 2.时间传感器 VRML中控制时间规律变化的系统机制是时间传感器TimeSensor节点,该节点用于创建一个系统虚拟时钟,并对动画插补器节点实施时间控制。 2.时间传感器(续) TimeSensor节点语法格式如下: TimeSensor { enabled TRUE loop FALSE cycleInterval 1.0 startTime 0.0 stopTime 0.0 isActive #eventOut SFBool time #eventOut SFTTime cycleTime #eventOut fraction_changed #eventOUT } 3.动画插补器及应用 插补器节点是VRML 2.0专为线性关键帧动画设计的一套系统动画机制。 它采用一组关键点,且每个关键点对应一种系统关键状态,该状态允许以各种数据形式表示。 浏览器渲染时将根据这些关键点所对应的关键状态在场景中通过线性插值自动生成连续动画。 3.动画插补器及应用(续) ColorInterpolator节点 ColorInterpolator插补器节点用以产生造型颜色改变动画。 ColorInterpolator { key [] keyValue [] set_fraction value_changed } 3.动画插补器及应用(续) Key域的域值设置一系列以浮点形式存在的关键点,并与接收到的入事件set_fraction相对应。 keyValue域的域值设置一系列RGB颜色的关键状态,并与key域的域值一一对应。 Set_fraction入事件用于不断接收来自时间传感器发出的动画触发比值。 Value_changed出事件用于将选取的keyValue域的域值得关键状态发送出去。 3.动画插补器及应用(续) 例1.颜色插值 3.动画插补器及应用(续) PositionInterpolator节点 PositionInterpolator插补器节点用以产生位置改变动画。 PositionInterpolator { key [] keyValue [] set_fraction value_changed } 3.动画插补器及应用(续) OrientationInterpolator节点 OrientationInterpolator插补器节点用以产生空间朝向旋转改变动画。 OrientationInterpolator { key [] keyValue [] set_fraction value_changed } 3.动画插补器及应用(续) ScalarInterpolator节点 ScalarInterpolator插补器节点用以产生标量改变动画,适合于对任何用单精度浮点值定义的节点域值参数的动画控制。 ScalarInterpolator { key [] keyValue [] set_fraction value_changed } 3.动画插补器及应用(续) CoordinateInterp

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档