cesium如何实现地球自转

cesium如何实现地球自转,第1张

1,找张地图,长方形的,最好再PS一下,把地图连接起来,做成两张连一起的,然后导入到舞台,转换成元件“地图”。

2,舞台上新建两个图层,从下到上依次为:背景层,地图层,遮罩层;

3,在“背景层”上画一个蓝色的球,颜色可以做成放射的,光源点设在哪里自己弄,把这个球转换成元件;然后点击这个球,水平中齐,垂直中齐。然后单击球体,拉一条辅助线到“球体”元件方框的右边的边,放地图时用得到(- -!)

4,点击名为“遮罩层”那个图层,从库里把球再拖到舞台上,水平中齐,垂直中齐。

5,再到地“地图层”放入元件“地图”,将该元件垂直中齐,并按住shift将该元件的右侧边对准步骤3中的辅助线。

6,分别在三个图层的第六十帧插入一个普通帧,将背景层锁定;将地图层的第60帧转换为关键帧,并按住shift移动该图层上的地图,直至该地图的中线对准所拉的辅助线(这样做的目的是实现视觉效果上,地球自转并形成无间隙的循环),然后单击地图层的第一帧,选择属性面板里的补间,创建:动画补间,按下Enter看下动画是否成功。

7,然后右键单击图层区的“遮罩层”选择“遮罩层”,下面的地图层自动成为被遮罩。

8,动画完成。 按ctrl+enter预览;按shift+ctrl+alt+S导出影片

最近几日由于工作中需要把全景图加载到三维场景中,之前网上搜索过,做过的都是结合其他框架来实现,如PhotoSphereViewer。但是当我们需要在Cesium做的项目中,来做数据显示增强的时候(如:点云和全景图叠合)就显得力不从心了,毕竟PhotoSphereViewer是基于threejs来实现的,需要一起来显示的时候就需要控制Cesium的相机和threejs的相机。因此为了更加有效的实现Cesium中场景与全景图完美叠合,就需要Cesium加载全景图。可能我说的叠合有点抽象,那么我用一张图来解释一下。

和点云数据叠合有个好处就是点云数据拉近看的时候,点云比较稀疏看不清形状,这个时候结合全景图,就能更加清晰的呈现出模型本身。

那么如何实现cesium中加载全景图呢?其实很简单,总结为如下几步:

1、使用EllipsoidGeometry绘制一个球

2、给这个球贴上纹理,由于我们贴的时候一般都贴到球的表面,但是我们看的时候视角是从球里面往外面看的,所以需要对纹理做一个反转

3、固定相机位置为球的中心点,这样就可以绕着这个点往四周看了

我这里把使用的贴纹理的shader贴出来供大家参考:

最后附一张叠合的效果图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11427653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存