在Cesium中,我想做一个半径动态增大和缩小的圆。一开始我考虑使用requestAnimationFrame,不断的调整半径的大小,也就是直接更改Ellipsoid对象的长短轴大小。但是效果不理想,半径调整后这个圆会消失,然后出现调整之后的圆,给人的感觉就是“卡顿”。

直到我看到了这篇文章 Cesium的Property机制总结, 完整了这个功能。

效果图

实现原理

  1. 动态圆
    semiMinorAxissemiMajorAxis指定一个CallbackProperty对象,并返回半径大小。由于要做的是要给圆,长短轴相同,可以抽出一个共同的方法getRadius()。 在CallbackProperty的回调函数中,不断的调整半径的大小,这个就和我们平时常用的requestAnimationFrame一样了。

  2. 颜色渐变
    使用ColorMaterialProperty,根据半径的大小,调整透明度。半径越大,透明度越高。

源码

var r = 0,up = trueconst pos = Cesium.Cartesian3.fromDegrees(120.191, 30.255, 100)const maxRadius = 50const minRadius = 10const step = 1function getRadius() {return new Cesium.CallbackProperty(function (time, result) {if (up) {r += step} else {r -= step}if (r >= maxRadius) {up = false}if (r <= minRadius) {up = true}return r}, false)}viewer.entities.add({position: pos,ellipse: {semiMinorAxis: getRadius(),semiMajorAxis: getRadius(),material: new Cesium.ColorMaterialProperty(new Cesium.CallbackProperty(function (time, result) {return new Cesium.Color(1, 0, 0, 1 - r / maxRadius)})),height: this.target[2],outline: false}})

其他

如果你还有什么问题:

  1. 查看 Cesium的Property机制总结,这个对动画的描述很全面。
  2. 在评论区发言,我会尽量提供我所知道的答案。

Cesium自定义动画相关推荐

  1. Cesium自定义天空盒子图片

    Cesium自定义天空盒子图片 效果图 改造SkyBox代码 const {BoxGeometry,Cartesian3,defaultValue,defined,destroyObject,Deve ...

  2. android 自定义loading,Android自定义动画-StarLoadingView

    今天来分享第二个自定义loading的动画,起了个名字叫 蹦跶的星星 ,还是老规矩先介绍,后上图. 实现效果在最后,GIF有点大,手机流量慎重. 介绍 首先声明做这个动画的初衷是为了学习和分享,所以从 ...

  3. html文字中横线_谈PPT课件中自定义动画应用之内容控制

    本案例来源于一位资深政治教师的课件应用经验. 在她的朋友圈看到: 讲解高考政治主观题课件要这样做才好,材料全部显示完后,再把一些关键字词句用彩色字标注或横线或圆圈标注,然后再分析归纳,哪些字词句是设问 ...

  4. Android 动画汇总-自定义动画

    为什么80%的码农都做不了架构师?>>>    android自定义动画步骤 继承Animation,重写里面的initialize和applyTransformation,在ini ...

  5. [Android]Fragment自定义动画、动画监听以及兼容性包使用

    Fragment是Android在API 11之后加入的一个组件,对提高Android开发中的布局合理性和布局效率都有很大作用,尤其是在Android平板等大屏幕设备的开发中,Fragment的引入能 ...

  6. 自定义动画 animate || 案例:王者荣耀手风琴效果分析

    自定义动画 animate <!DOCTYPE html> <html lang="en"><head><meta charset=&qu ...

  7. jQuery学习笔记系列(一)——入口函数,jQuery对象和DOM对象,jQuery选择器、样式操作、效果(显示隐藏、滑入滑出、淡入淡出、自定义动画、停止动画队列)

    day01 - jQuery 学习目标: 能够说出什么是 jQuery 能够说出 jQuery 的优点 能够简单使用 jQuery 能够说出 DOM 对象和 jQuery 对象的区别 能够写出常用的 ...

  8. 自定义动画属性java_创建酷炫动画效果的10个JavaScript库

    原标题:创建酷炫动画效果的10个JavaScript库 1) Dynamics.jsDynamics.js是设计基于物理规律的动画的重要Java库.它可以赋予生命给所有包含CSS 和SVG属性的DOM ...

  9. Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效

    之前有写过自定义动画Mr.J-- jQuery学习笔记(十八)--自定义动画 这次实现一个小demo 图标特效 页面渲染 <!DOCTYPE html> <html lang=&qu ...

最新文章

  1. 160个Crackme022之故布疑阵
  2. SharePoint 向多行文本类型字段插入特殊类型链接
  3. python创建一个元组、输出元组下标为1、3、5的元素_【Python 1-9】Python手把手教程之——元组和元组的使用技巧...
  4. oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World
  5. dfa转正则表达式_GitHub - hidva/re2dot: 根据正则表达式生成其对应 DFA 的状态转移图...
  6. Java 8 基础教程 - Predicate,java基础面试笔试题
  7. 152-Maximum Product Subarray
  8. excel npoi 连接_C#操作Excel(NPOI)
  9. Wincc 开机自检动态展示
  10. html的国际标准智商测试,iq测试题国际标准30道 国际标准IQ测试多少分合格
  11. Windows系统安装绿色版MySQL8
  12. rsync,nfc,sersync使用
  13. aix 查询db2客户端版本_怎么看DB2的版本啊?
  14. @3-1 CCF 2020-09-1 称检测点查询
  15. python(数据分析与可视化)六
  16. XXL-JOB核心源码解读及时间轮原理剖析
  17. LVDS 驱动 适配
  18. POST请求与GET请求
  19. c语言实现乘法口诀,乘法口诀表,C语言实现
  20. 麒麟v10通过yum安装mariadb

热门文章

  1. 深刻理解:带头结点和不带头结点的区别 使用头结点的优势
  2. 前端网站学习网站整理
  3. 计算机组成原理唐朔飞高分笔记,计算机组成原理唐朔飞高分笔记资料.doc
  4. 【写在2019考研后第二天,考研回顾】
  5. 论文中缩写w.r.t./i.e./et al./e.g./cf./etc的含义
  6. 小红书校招java_【小红书】2020校招编程题
  7. Bootstrap②
  8. HTTP 请求工具类-RestTemplate
  9. Mockito 简单示例
  10. 北京大学生暑期计算机班,北京大学2018年全国中学生信息科学暑期课堂成功举办...