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 分钟前
antd v5 support React is 16 ~ 18. see https://u.ant.design/v5-for-19 for...
前端
会豪2 分钟前
工业仿真(simulation)--前端(二)-资源管理器
前端
@小红花1 小时前
从0到1学习Vue框架Day03
前端·javascript·vue.js·学习·ecmascript
前端与小赵1 小时前
vue3中 ref() 和 reactive() 的区别
前端·javascript·vue.js
魔云连洲1 小时前
Vue的响应式底层原理:Proxy vs defineProperty
前端·javascript·vue.js
专注VB编程开发20年1 小时前
CSS定义网格的列模板grid-template-columns什么意思,为什么要用这么复杂的单词
前端·css
IT_陈寒1 小时前
Redis性能提升50%的7个关键优化策略,90%开发者都不知道第5点!
前端·人工智能·后端
Hilaku1 小时前
深入URL和URLSearchParams:别再用正则表达式去折磨URL了
前端·javascript·代码规范
pubuzhixing1 小时前
Canvas 的性能卓越,用它解决一个棘手问题
前端
weixin_456904271 小时前
Vue.jsmain.js/request.js/user.js/store/index.js Vuex状态管理项目核心模块深度解析
前端·javascript·vue.js