XR- Frame 动画

admin LV9
2023-05-31 · 70 阅读
XR- Frame 动画


本节主要说明动画的一种实现方法:
首先将动画配置作为资源引入:

   <xr-asset-loadasset-id="basic-anim"type="keyframe"src="/assets/animation/basic-animation.json"/>



可以看下这个json,其实和css大同小异

   {
    "keyframe": {
      "cube": {
        "0": {
          "position": [-3, 0, 2]
        },
        "50": {
          "rotation": [0, 0, 0],
          "scale": [1, 1, 1]
        },
        "100": {
          "position": [3, 0, 2],
          "rotation": [0, 3.14, 0],
          "scale": [1.4, 1.4, 1.4]
        }
      },
      ...
    },
    "animation": {
      "default": {
        "keyframe": "cube",
        "duration": 1,
        "ease": "ease-in-out",
        "loop": 400000,
        "delay": 1,
        "direction": "both"
      },
      ...
    }
   }




先定义关键帧,再定义动画参数,之后在节点上关联就可以了

   <xr-mesh
   node-id="mesh-cube"position="-3 0 2"scale="1 1 1"rotation="0 0 0"geometry="cube"material="standard-mat"uniforms="u_baseColorFactor:0.298 0.764 0.85 1"
   anim-keyframe="basic-anim"anim-autoplay="clip:cube, speed:2"
   cast-shadow
></xr-mesh>



anim-keyframe对应asset-id,anim-autoplay对应json中的动画名,还可以指定速度

可以参与动画的属性:
属性的值为number、number-array和color类型的数据都可以进行动画,程序会自动计算关键帧之间每一帧每个属性的值应该是多少。
除了position、rotation、scale之外,像material.u_baseColorFactor这样的属性也可以,如下,可以改变物体的颜色:



   "0": {
    "material.u_baseColorFactor": [0.48, 0.78, 0.64, 1]
},
"100": {
    "material.u_baseColorFactor": [0.176, 0.368, 0.937, 1]
}



版块:
web3.0前端学院
分类:
1. 本站所有资源来源于用户上传和网络,仅作为演示数据,如有侵权请邮件联系站长!
2. 盗版,破解有损他人权益和违法作为,请各位站长支持正版!
个性签名
回复

举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则