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"
        ]
      }
    ]
  }
}
相关推荐
shenzhenNBA7 分钟前
如何在python文件中使用日志功能?简单版本
java·前端·python·日志·log
掘金泥石流9 分钟前
分享下我创业烧了 几十万的 AI Coding 经验
前端·javascript·后端
用户479492835691511 分钟前
JavaScript 为什么选择原型链?从第一性原理聊聊这个设计
前端·javascript
new code Boy16 分钟前
vscode左侧栏图标及目录恢复
前端·javascript
唐诗16 分钟前
Git提交信息太乱?AI一键美化!一行命令拯救你的项目历史🚀
前端·ai编程
二狗哈25 分钟前
Cesium快速入门9:相机动画与交互
webgl·cesium·地图可视化
涔溪31 分钟前
有哪些常见的Vite插件及其作用?
前端·vue.js·vite
糖墨夕31 分钟前
从一行代码看TypeScript的精准与陷阱:空值合并vs逻辑或
前端·typescript
Junsen38 分钟前
使用 Supabase 实现轻量埋点监控
前端·javascript
CnLiang1 小时前
React Compiler Plugin
前端·react.js