前言

一直在学习cesium,时断时续地用它,但感觉哪里不对,什么都了解一点,但什么没有深入地去研究,都是浮于表面。于是下定决心:从头开始,从cesium的sandcastle例子开始,系统地学一下cesium。并把它记录下来,以便后面用时能很快找到。

一、场景与动态模型加载

把基本框架搭起来之后,就开始第一个例子。如下图(发动机叶片是转动的):

viewer配置如下图:

因为模型的发动机叶片是转动的,为了使叶片转动起来,shouldAnimate: true。

二、模型调整

这里的模型调整不是指模型本身的动画。模型在三维场景中除了有位置之外,还有模型的姿态。比如头朝哪边,左右倾斜多少度,模型缩放等等,代码如下:

1、模型姿态

function createModel (url, x, y, height) {viewer.entities.removeAll();var position = Cesium.Cartesian3.fromDegrees(x, y, height);var heading = Cesium.Math.toRadians(135);var pitch = 0;var roll = 0;var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);//var orientation = Cesium.Transforms.headingPitchRollQuaternion(position,hpr);var entity = viewer.entities.add({name: url,position: position,orientation: orientation,model: {uri: url,minimumPixelSize: 128,maximumScale: 20000,},});viewer.trackedEntity = entity;
}

上面代码中,

position设置entity的位置;
        orientation: 设置entity的姿态;

需要注意这一行: var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);

cesium API中是这样说的:A rotation expressed as a heading, pitch, and roll. Heading is the rotation about the negative z axis. Pitch is the rotation about the negative y axis. Roll is the rotation about the positive x axis.

其中说到Heading是绕Z轴,Pitch是绕Y轴,而Roll是绕X轴。这里的x,y,z轴指的是模型坐标系中的x,y,z轴。而不是cesium中笛卡儿坐标系的x,y,z。旋转中心是建模时的模型中心。

2、缩放

模型缩放很简单,只要找到模型,设置模型scale属性即可,但要注意,netity并不一个只为模型服务的单一类,可以把它理解成容器,大多数的可视化要素都可以放里面,所以要找到模型,就需要找到它的模型属性,即entity.model,这就是模型。代码如下:

entity.model.scale = 10 //模型放大10倍

三、视点锁定

在学习加载模型过程中,经常会碰到一个问题,就是运行没有报错,模型已经加载,但是就是看不到模型在哪里!Cesium提供了一个模型锁定的方法。即:

viewer.trackedEntity = entity;

这样就可以,这时视角不支持平移,只能放大和缩小。视点始终锁定在模型上,不用满世界去找模型。

CESIUM例子学习(一)——动态模型加载相关推荐

  1. PyTorch框架学习十九——模型加载与保存

    PyTorch框架学习十九--模型加载与保存 一.序列化与反序列化 二.PyTorch中的序列化与反序列化 1.torch.save 2.torch.load 三.模型的保存 1.方法一:保存整个Mo ...

  2. 【虚幻引擎UE】UE5 AR初体验之静态动态模型加载

    UE5的AR初体验之静态动态两种模型加载 基于配置好AR环境(参考另一篇文章) 先## 标题简单了解一下它的项目结构 这里的brush就是我们的操作空间范围 官方模板可以实现平面识别,控制对象的旋转和 ...

  3. Cesium案例解析(四)——3DModels模型加载

    文章目录 1. 概述 2. 代码 3. 解析 4. 参考 1. 概述 Cesium自带的3D Models示例,展示了如何加载glTF格式三维模型数据.glTF是为WebGL量身定制的数据格式,在网络 ...

  4. 如何将深度学习模型加载到android环境中

    承接上一篇的内容,考虑如何将深度学习的模型加载到android app中 文章目录 前言 一.使用工具 二.使用步骤 1.模型格式的转换 2.配置文件修改 3. 应用程序 前言 将图片学习的模型加载到 ...

  5. NVIDIA GEFORCE 2080 / 2080 SUPER / 2080 Ti + CUDA Toolkit 8.0 深度学习模型加载速度慢

    NVIDIA GEFORCE 2080 / 2080 SUPER / 2080 Ti + CUDA Toolkit 8.0 深度学习模型加载速度慢 (卡顿) GEFORCE RTX 2080 / GE ...

  6. 草图大师sketchup的模型加载到cesium里显示 带贴图

    草图大师sketchup的模型加载到cesium里显示 带贴图 前言 一.sketchUp导出obj格式 二.在Blender中转换数据 1.导入数据 2.调整尺寸和视图 三.cesium中加载 总结 ...

  7. cesium模型加载-加载fbx格式模型

    整体思路: fbx格式→dae格式→gltf格式→cesium加载gltf格式模型 具体方法: 1. fbx格式→dae格式 工具:3dsMax, 3dsMax插件:OpenCOLLADA, 下载地址 ...

  8. OpenGL学习脚印:模型加载初步-加载obj模型(load obj model)

    写在前面 前面介绍了光照基础内容,以及材质和lighting maps,和光源类型,我们对使用光照增强场景真实感有了一定了解.但是到目前为止,我们通过在程序中指定的立方体数据,绘制立方体,看起来还是很 ...

  9. postgresql源码学习(57)—— pg中的四种动态库加载方法

    一. 基础知识 1. 什么是库 库其实就是一些通用代码,可以在程序中重复使用,比如一些数学函数,可以不需要自己编写,直接调用相关函数即可实现,避免重复造轮子. 在linux中,支持两种类型的库: 1. ...

  10. Cesium bim模型加载并与模型树关联(分层加载)

    很久都没写文章了,最近实在是太忙了,向各位关注我的小伙伴致个歉! 最近没事儿写了个模型树和模型关联的功能,处理工具是用的cesiumlab. 说明一下为什么要用cesiumlab: 网上现在有很多的模 ...

最新文章

  1. hadoop错误,重新格式化namenode后,出现java.io.IOException Incompatible clusterIDs
  2. RAC环境下的备份与恢复(四)
  3. C++ cin相关函数总结
  4. Spring - Java/J2EE Application Framework 应用框架 第 14 章 JMS支持
  5. Node读取并输出txt文件内容
  6. 深度学习和目标检测系列教程 9-300:TorchVision和Albumentation性能对比,如何使用Albumentation对图片数据做数据增强
  7. HTML5 Canvas 图形组合
  8. vue+vuex初入门
  9. 窗函数(matlab)
  10. QTreeView+自定义Model实现示例
  11. 人脸识别、活体检测、人脸识别面临的挑战
  12. 用计算机和电视机组成家庭影院,用电脑组建家庭影院:  最方便最实惠的玩法...
  13. linux运维都不知道是什么,这8种命令都不会,还算什么Linux运维!
  14. 马云、张小龙、雷军缅怀金庸:江湖路远,侠义长存!
  15. Java 可用于比较与排序的lambda表达式和comparing方法
  16. 10+ 张图来探究 Linux 内核,以及如何高效学习
  17. NVisual-自动化网络拓扑
  18. 2021-11-29 vue移动端卖座电影项目(三) vue项目中使用Swiper插件,Film页面设置轮拨图,nowPlaying页面设置样式
  19. 在URL中传递中文的解决方式
  20. FAT32 文件系统在磁盘上的结构

热门文章

  1. JavaScript 每日一题 #10
  2. #C语言#6.1 数据类型 笔记
  3. 深度学习图片预处理:crop
  4. css炫酷标题,炫酷 CSS 背景效果的 10 个代码片段
  5. 【图片新闻】美海军的下一艘战舰与“祖姆沃尔特”DDG-1000极其相似
  6. 【Django】 视图层说明
  7. 《CSDN排行榜冲榜攻略》妙用Emoji表情符号读者提升阅读体验(编码表)
  8. excel 筛选重复项_列表项的Excel筛选器:2011年“鲨鱼周”
  9. Chrome - develop for the web
  10. Edit plus | ecli pse配色方案