zoukankan      html  css  js  c++  java
  • VRML/X3D中如何按照设定好的路径自动漫游或行走?且如果控制只走一遍?

    VRML/X3D中如何按照设定好的路径自动漫游或行走?且如果控制只走一遍?

    今天查了很多资料,总结出来这个算是比较简单的方案。

    主要用到TimeSensor,TouchSensor,PositionInterpolator,OrientationInterpolator。

    示例:

    DEF pi PositionInterpolator {

    key [ 0

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

    ]

    keyValue [

    9        1.5   2       ,

    9        1.5   4       ,

    20      1.5   15     ,

    22      1.5   15     ,

    23      1.5   16     ,

    42      1.5   16     ,

    43      1.5   17     ,

    43      1.5   31     ,

    42      1.5   32     ,

    42      1.5   38     ,

    41      1.5   39     ,

    ]

    }

    DEF   oi OrientationInterpolator {

    key [ 0 0.05 0.25 0.3 0.35 0.55 0.6 0.75 0.8 0.95 1]

    keyValue [

               0 1 0 3.14,

               0 1 0 4,

               0 1 0 -1.57,

               0 1 0 -1.57,

               0 1 0 -1.57,

               0 1 0 -2.8,

               0 1 0 3.14,

               0 1 0 3.14,

               0 1 0 3.14,

               0 1 0 3.14,

               0 1 0 3.14]

    }

    DEF ts TimeSensor {

    cycleInterval 33

    loop FALSE

    }

    DEF   tct TouchSensor       {}

    ROUTE tct.touchTime       TO ts.startTime

    ROUTE ts.fraction_changed TO pi.set_fraction

    #ROUTE pi.value_changed TO tr.set_translation

    ROUTE  pi.value_changed       TO CVP.set_position

    ROUTE ts.fraction_changed TO oi.set_fraction

               ROUTE oi.value_changed TO CVP.set_orientation

    当loop为FALSE时,需要自己启动TimeSensor,这时借助TouchSensor来传递ts的startTime来启动。

    这样就每当点击场景中物体时,就会激发一次动画(即路径行走一遍)。

    如果把loop设置为TRUE那就不需要TouchSensor来启动了,会自发启动并且一直循环下去。

    作者:Jason Cai
    出处:http://www.cnblogs.com/BrainDeveloper/
    本文版权归作者(Jason Cai)所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Vue 获取URL链接后面的参数值
    Vue 跳转到指定页面,返回到上一页
    Vant 插件
    Vue 返回上一页,记住上一页的数据
    vue pc端支付宝支付
    Spring 中的事务
    数据库中锁与事务
    《产品方法论》 读书笔记
    设计模式之装饰者模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/BrainDeveloper/p/2052501.html
Copyright © 2011-2022 走看看