Cesium任意模型动画-01

环境准备

模型处理

  1. 将模型拖入Babylon的沙盒环境中,如图
  2. 打开vscode将glb模型导出为gltf,如图发现官方模型已经处理好了,如图这是我们的目标模型.
  3. 先把他导入blender在导出gltf这样他就是平时拿到的模型了
  4. 在gltf同级目录下创建同名gmdf文件内容如下,我们可以在articulations里添加需要控制的node
  5. 比如我们想要控制火箭整流罩展开,整流罩抛出会先炸开在下落所以需要添加旋转和位移控制如图
  6. 最后把gmdf注入到gltf就可以了
  7. 做完这些就可以在比如收到某条指令触发什么动画,不同时刻不同模型姿态,后面讲怎么使用

附件

火箭模型 gmdf代码

js 复制代码
{
  "AGI_articulations": {
    "articulations": [
      {
        "name": "fairing1",
        "stages": [
          {
            "name": "Size",
            "type": "uniformScale",
            "minimumValue": 0,
            "maximumValue": 100,
            "initialValue": 1
          },
          {
            "name": "TransX",
            "type": "xTranslate",
            "minimumValue": -2000,
            "maximumValue": 2000,
            "initialValue": 0
          },
          {
            "name": "TransY",
            "type": "yTranslate",
            "minimumValue": -2000,
            "maximumValue": 2000,
            "initialValue": 0
          },
          {
            "name": "TransZ",
            "type": "zTranslate",
            "minimumValue": -2000,
            "maximumValue": 2000,
            "initialValue": 0
          },
          {
            "name": "RotX",
            "type": "xRotate",
            "minimumValue": -360,
            "maximumValue": 360,
            "initialValue": 0
          },
          {
            "name": "RotY",
            "type": "yRotate",
            "minimumValue": -360,
            "maximumValue": 360,
            "initialValue": 0
          },
          {
            "name": "RotZ",
            "type": "zRotate",
            "minimumValue": -360,
            "maximumValue": 360,
            "initialValue": 0
          }
        ],
        "modelNodes": [
          "Fairing1"
        ]
      }
    ]
  }
}
相关推荐
阿珊和她的猫6 分钟前
深入解析浏览器的渲染过程
前端·javascript·vue.js
匠心网络科技33 分钟前
JavaScript进阶-ES6 带来的高效编程新体验
开发语言·前端·javascript·学习·面试
Never_Satisfied1 小时前
在HTML & CSS中,nth-child、nth-of-type详解
前端·css·html
睡不着的可乐1 小时前
createElement → VNode 是怎么创建的
前端·javascript·vue.js
光影少年1 小时前
前端css如何实现水平垂直居中?
前端·javascript·css
C澒1 小时前
SLDS 自营物流系统:Pickup 揽收全流程
前端·架构·系统架构·教育电商·交通物流
摸鱼的春哥2 小时前
把白领吓破防的2028预言,究竟讲了什么?
前端·javascript·后端
infiniteWei2 小时前
SKILL.md 触发机制与设计规范:避免“写了不触发”
java·前端·设计规范
慧一居士2 小时前
SVG图片介绍和使用
前端
Rysxt_2 小时前
Uniapp全局配置教程
前端·uniapp