javascript - 用户(相机)是否可以坚持动画静态实体?

标签 javascript html aframe

是否可以在用户(相机/光标)移动时将其“粘在”动画静态实体上? 例如,如果我跳到一个静态框,该框具有沿 y 轴移动的动画,用户如何保持在该框上?同样,如果一个盒子正在动画化它的比例,当相机不再“在”盒子上时,为什么它不会掉落?

最佳答案

对于移动平台,这是可能的,但有点棘手。您需要将物理组件附加到相机,而 dynamic-bodystatic-body 都不能完全正确地完成任务。我在 aframe-extras 中编写了一个组件来做到这一点,称为kinematic-body。用法:

  <a-entity camera="userHeight: 1.6"
            universal-controls
            kinematic-body></a-entity>

请注意,这仅适用于universal-controls,不适用于 A-Frame 默认控件。

之后,您需要平台不仅可以移动,还需要更新实体上的 el.body.positionel.body.velocity,以便物理已正确同步。您可以手动执行此操作,或按照 aframe-extras 中的其他示例进行操作:

  <a-box id="platform1"
         width="4" height="0.25" depth="4"
         position="7 0.125 -15"
         velocity="0 0 0"
         toggle-velocity="axis: z; min: -5; max: 5;"
         static-body></a-box>

工作中demosource code .

缩放static-body比较困难。物理引擎没有以这种方式扩展的概念,因此您可能需要手动编辑 el.body,这可能有效,也可能无效。

还有其他方法可以在没有物理的情况下实现此目的,例如将光线转换器从摄像机向下指向并以这种方式检测当前平台。

关于javascript - 用户(相机)是否可以坚持动画静态实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48361707/

相关文章:

javascript - Aframe 射线转换器 交叉点

aframe - 如何将 HTML 元素放置在 A-Frame 的顶部

aframe - Aframe 中的变色光

javascript - folktale 有 IO monad 吗?

Javascript 正则表达式 - 开头没有空格 + 中间允许空格

javascript计算其中包含 "X"的文本框的数量

JavaScript/CSS 悬停功能

javascript - google maps api V3 - MarkerClusterer 与 Infobubble 相结合

javascript - 将 Jquery-UI 日期选择器链接到 DropDownlist

javascript - 如何在 P 或 span 标签内附加 ul 标签?