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"
        ]
      }
    ]
  }
}
相关推荐
我材不敲代码1 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
Kratzdisteln1 小时前
【无标题】
前端·python
Curvatureflight2 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue
kTR2hD1qb2 小时前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
修己xj3 小时前
打造专属博文封面神器:一个开源免费的博文封面生成器ThisCover
前端
kyriewen3 小时前
面试8家前端岗位后,我发现了一个残酷的事实:AI不是加分项,是门槛
前端·javascript·面试
Fighting_p3 小时前
【面试 - el-select问题及解决】wujie 微前端下子系统 el-select 多选 filterable 过滤失效
前端
吃口巧乐兹3 小时前
AI 全栈时代,为什么要服务端使用 NestJs
前端
yingyima3 小时前
Redis 延迟任务队列:凌晨3点服务器报警的救星
前端
weiggle3 小时前
第三篇:可组合函数(Composable)——Compose 的基石
android·前端