Cesium 实现粒子效果贴地(伪)
有时我们面对这样的需求,需要在地面上放一个周期性放大缩小的标记,可以使用粒子效果实现,但是粒子效果图片很难贴地(如果你知道怎么做,欢迎分享,期待有人打我脸),我只能变通实现一个看似贴地但实际没有贴地的效果。原理就是粒子图像的长度随着摄影机角度变化而变化,而宽度不变,这样当角度接近垂直时,图像就会更“圆”,接近平行时则更“扁”,看似贴到了地表上。
不多说 看代码
1 var viewModel = { 2 height : 20, 3 width : 20 4 }; 5 var particleSystem = scene.primitives.add(new Cesium.ParticleSystem({ 6 image : '<粒子图像>', 7 startScale : 1.0, 8 endScale : 10.0, 9 minimumLife : 2.0, 10 maximumLife : 1.0, 11 speed : 0.0, 12 width : viewModel.width, 13 height : viewModel.height, 14 lifeTime : 1.0, 15 // 主模型参数(位置) 16 modelMatrix : modelMatrix, 17 // 发射器参数 18 emitter : new Cesium.CircleEmitter(0.5), 19 rate : 1, 20 // 颜色 21 startColor: Cesium.Color.WHITE.withAlpha(0.7), 22 endColor: Cesium.Color.RED.withAlpha(0.01), 23 forces: [applyGravity] 24 })); 25 // 伪贴地 26 viewer.camera.moveStart.addEventListener(function(){ 27 var pitch = viewer.camera.pitch; 28 var verticalView = Cesium.Math.toRadians(-90.0); 29 // 1.25是个比例参数,我觉得看上去更真实 30 particleSystem._maximumHeight = viewModel.width * 1.25 * ( pitch / verticalView ); 31 particleSystem._minimumHeight = viewModel.width * 1.25 * ( pitch / verticalView ); 32 }); 33 viewer.camera.moveEnd.addEventListener(function(){ 34 var pitch = viewer.camera.pitch; 35 var verticalView = Cesium.Math.toRadians(-90.0); 36 particleSystem._maximumHeight = viewModel.width * 1.25 * ( pitch / verticalView ); 37 particleSystem._minimumHeight = viewModel.width * 1.25 * ( pitch / verticalView ); 38 });
Cesium 实现粒子效果贴地(伪)相关推荐
- Cesium粒子效果之雨、雪、雾
Cesium粒子效果之雨.雪.雾 功能简介 气象粒子效果新增 气象粒子效果移除 组件封装 原理介绍 对Cesium的粒子效果理论理解刚入门,如果有表述不正确欢迎指正. 以下代码快主要是利用Cesium ...
- 纯css实现粒子效果
前端开发whqet,csdn,王海庆,whqet,前端开发专家 好久没有更新的CSS3演武场系列,半年前搁浅的一篇文章赋予新年新气象闪亮登场了,研究一下利用css(sass)实现粒子效果,主要使用bo ...
- skyline粒子效果xml获取
skyline的粒子效果是有一堆复杂的xml配置而成,代码创建的时候需要根据xml来生成对象,鉴于xml格式官方并没详细提供,可以先用terraexplorer手动创建一个粒子效果对象,再用代码去找到 ...
- iOS动画开发之五——炫酷的粒子效果
iOS动画开发之五--炫酷的粒子效果 在上几篇博客中,我们对UIView层的动画以及iOS的核心动画做了介绍,基本已经可以满足iOS应用项目中所有的动画需求,如果你觉得那些都还不够炫酷,亦或是你灵光一 ...
- Unity3D中暂停时的动画及粒子效果实现
暂停是游戏中经常出现的功能,而Unity3D中对于暂停的处理并不是很理想.一般的做法是将Time.timeScale设置为0.Unity的文档中对于这种情况有以下描述: The scale at wh ...
- 【Cocosd2d实例教程七】Cocos2d实现超炫的粒子效果!!
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.介绍 你想拥有炫酷的效果么,你想让你的应用亮瞎别人的狗眼么!!不要急,这里告诉大家怎么实现绚丽的粒 ...
- OGEngine_粒子效果
粒子系统 粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的 game physics.经常使用粒子系统模拟的现象有火.爆炸.烟.水流.火花. ...
- iOS之仿QQ点赞按钮粒子效果的实现
效果展示 具体流程 一.封装YDWLikeButton 新建一个YDWLikeButton继承于UIButton,然后声明一个属性: @property (nonatomic, strong) CAE ...
- 【CSON原创】HTML5字体动态粒子效果发布
功能说明: 输入字体,按确定后,右侧画布出现字体的动态粒子效果. 效果预览: 输入显示内容: 实现分析: 之前看过hongru的事情没有想象中那么难--JX官网首页3D粒子效果,和当耐特砖家的HTML ...
最新文章
- Android中View如何刷新
- vue --- 提交表单到服务器
- 详解面向对象、构造函数、原型与原型链
- 将k个有序链表合并成一个有序链表
- ASP.NET 2.0 Club Web Site Starter Kit 补丁
- 日站会——你的站会姿势正确吗?
- 中介者模式android,Android[高级教程] 设计模式之六 中介者模式(二)
- Mysql数据库中,大小写区分
- 学python之路前的一些话
- 阿里云云原生一体化数仓入选 2022数博会“十佳大数据案例”
- Tabular学习笔记
- 微信APP支付 C#
- bh1750采集流程图_多路BH1750光强检测系统的设计
- boost创建线程池_linux下boost的一个扩展线程池-threadpool-的学习
- HDU-2036 改革春风吹满地
- java lowpoly低多边形风格图片生成
- Briefings in bioinformatics2022 | 基于神经网络的分子性质预测通用优化策略
- C++文件流fstream相关操作
- datastage7.5.1.A License 及 下载地址 Download
- 计算机系统结构专业都学什么,计算机专业都学些什么?
热门文章
- jmeter 运行接口报javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection的解决方法
- Android 6.0 inflate过程分析
- deep learning编程作业总结1---喵咪识别
- Rockchip Linux CMA开发文档
- 921天,从小厂到入职阿里
- 重学c语言 新开导言
- vsc编辑器设置背景图
- flappybird android源码,iOS学习之flappyBird游戏的实现
- 安卓一键清理内存_微清理下载软件-微清理app下载v1.0.1.2 安卓版
- SpringBoot物流管理项目,拿去学习吧(源码)