Cesium基础知识-粒子应用-汽车冒烟
JavaScript代码
- viewer = new Cesium.Viewer('cesiumContainer');
- var gravityVector = new Cesium.Cartesian3();
- var gravity = -(9.8 * 9.8);
- function applyGravity(p, dt) {
- // Compute a local up vector for each particle in geocentric space.
- var position = p.position;
- Cesium.Cartesian3.normalize(position, gravityVector);
- Cesium.Cartesian3.multiplyByScalar(gravityVector, gravity * dt, gravityVector);
- p.velocity = Cesium.Cartesian3.add(p.velocity, gravityVector, p.velocity);
- }
- var entity = viewer.entities.add({
- model : {
- uri : '../Apps/SampleData/models/CesiumMilkTruck/CesiumMilkTruck.glb',
- minimumPixelSize : 64
- },
- position : Cesium.Cartesian3.fromDegrees(-75.15787310614596, 39.97862668312678)
- });
- viewer.trackedEntity = entity;
- function computeModelMatrix(entity, time) {
- var position = Cesium.Property.getValueOrUndefined(entity.position, time, new Cesium.Cartesian3());
- if (!Cesium.defined(position)) {
- return undefined;
- }
- var orientation = Cesium.Property.getValueOrUndefined(entity.orientation, time, new Cesium.Quaternion());
- if (!Cesium.defined(orientation)) {
- var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(position, undefined, new Cesium.Matrix4());
- } else {
- modelMatrix = Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromQuaternion(orientation, new Cesium.Matrix3()), position, new Cesium.Matrix4());
- }
- return modelMatrix;
- }
- function computeEmitterModelMatrix() {
- hpr = Cesium.HeadingPitchRoll.fromDegrees(0.0, 0.0, 0.0, new Cesium.HeadingPitchRoll());
- var trs = new Cesium.TranslationRotationScale();
- trs.translation = Cesium.Cartesian3.fromElements(-4, 0.0, 1.4, new Cesium.Cartesian3());
- trs.rotation = Cesium.Quaternion.fromHeadingPitchRoll(hpr, new Cesium.Quaternion());
- return Cesium.Matrix4.fromTranslationRotationScale(trs, new Cesium.Matrix4());
- }
- var particleSystem = viewer.scene.primitives.add(new Cesium.ParticleSystem({
- image : '../Apps/SampleData/smoke.png',
- startColor : Cesium.Color.LIGHTSEAGREEN.withAlpha(0.7),
- endColor : Cesium.Color.WHITE.withAlpha(0.0),
- imageSize : new Cesium.Cartesian2(25, 25),
- startScale : 1.0,
- endScale : 4.0,
- particleLife : 1.0,
- speed : 5.0,
- minimumSpeed: 1.0,
- maximumSpeed: 10.0,
- emitter : new Cesium.CircleEmitter(0.5),
- emissionRate : 5.0,
- modelMatrix : computeModelMatrix(entity, Cesium.JulianDate.now()),
- lifetime : 16.0,
- bursts : [
- new Cesium.ParticleBurst({time : 5.0, minimum : 300, maximum : 500}),
- new Cesium.ParticleBurst({time : 10.0, minimum : 50, maximum : 100}),
- new Cesium.ParticleBurst({time : 15.0, minimum : 200, maximum : 300})
- ],
- loop: false,
- minimumImageSize : new Cesium.Cartesian2(30.0, 30.0),
- maximumImageSize : new Cesium.Cartesian2(60.0, 60.0),
- startScale: 1.0,
- endScale: 4.0,
- updateCallback : applyGravity,
- forces: applyGravity,
- emitterModelMatrix : computeEmitterModelMatrix(),
- }));
Cesium基础知识-粒子应用-汽车冒烟相关推荐
- Cesium 基础知识和文档记录
Cesium开发基础 CesiumLab--系统重启 目录 • 一,关于我们 • 二,Cesium介绍 • 三,快速入门 • 四,常见问题 • 五,学习方法 一,关于我们 --系统重启 • 2008年 ...
- Cesium基础知识-添加天空盒
var viewer = new Cesium.Viewer('cesiumContainer'); // 加载图层 viewer.imageryLayers.addImageryProvider( ...
- Cesium基础知识-加载json数据
viewer = new Cesium.Viewer('cesiumContainer'); //加载json数据生成线 function CreateLineFromJson(params) { / ...
- Cesium基础知识-创建模型,动画
viewer = new Cesium.Viewer('cesiumContainer' /* ,{ shouldAnimate : true }*/ ); //创建3d模型 function Cre ...
- Cesium基础知识-创建图层
//创建一个图层 function CreateLayer() { var viewer = new Cesium.Viewer('cesiumContainer', { imageryProvide ...
- 关于电脑的基础知识_改装小白必看的汽车音响改装基础知识!
汽车作为一个越来越普及的交通工具,已经占据了人类的更大时间和空间,成了不可缺少的生活物品,而原车汽车音响作为这个驾驶工具里的唯一具有娱乐功能的零配件有时候也是在满足不了一些对音乐有高水平要求的驾驶者的 ...
- 阡陌路-车行天下之汽车基础知识
阡陌路-车行天下之汽车基础知识 (2013-06-29 10:37:23)转载▼ 标签: 汽车 基础 分类: 指南区 汽车基础知识 1.什么是ABS ABS是Anti-LockBrakeSystem的 ...
- geant4构造粒子_Geant4基础知识
可复制.编制,期待你的好评与关注! Geant4 基础知识 G4 模拟粒子过程 : 建立一次模拟,在 G4 中称为一次 Run : Run 建立后,需要对几何结构.物理过 程进行初始化: 初始化完成后 ...
- 汽车数字钥匙设计02--UWB基础知识
数字钥匙实现需包含NFC,BLE,UWB等技术,其中UWB主要用于实现精准定位,以弥补BLE定位不准确的情况,另外UWB技术可以实现其他扩展功能,如儿童存在检测CPD,脚踢检测功能等. 1.什么是UW ...
- 【二代示波器教程】第1章 示波器基础知识
教程完整下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=45785 第1章 示波器基础知识 本章的内容整理自网络,主要讲解示 ...
最新文章
- 《Effective C++》第8章 定制new和delete-读书笔记
- NHibernate.ADOException: cannot open connection
- Ubuntu18.04下安装RRStudio
- boost::callable_traits的remove_member_const_t的测试程序
- 插件修复数据_APP 热修复都懂了,你会 SDK 热修复吗?最全方案在这里!
- 【Python CheckiO 题解】Easy Unpack
- 【牛客 - 301哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级 )】小乐乐和25(模拟,技巧)
- Python3.x中set()集合的使用方法
- HDU.1005 Number Sequence
- 推荐Python互动艺术在线编辑器(腾讯扣叮)
- main函数默认参数argc和argv的详解
- lwip协议栈实现服务器端主动发送,lwip协议栈源码详解说明 - 全文
- 构建会员运营管理系统 帮助零售企业数字化转型
- 微信开放平台修改应用名称
- 三套方案7日打造骨感美人
- 微信小程序-更换头像
- 国内哪家云服务器最便宜?国内主流三大云厂商的价格差异
- linux命令后台执行方式
- 世界上最难的视觉图_看看世界上驾照最难考的国家,你还会觉得考驾照难吗?...
- 英特尔暂缓扩建大连芯片厂 或吞并全球最大芯片生厂商之一美光科技
热门文章
- 微信小程序里面嵌套的h5使用微信sdk配置踩坑
- 转载: WebKit介绍及总结(一)
- html静态测试网页,Html静态网页测试-20210531213110.pptx-原创力文档
- 深度学习中对神经网络的理解
- 【数据压缩】作业1:分析浊音清音爆破音的时域和频域特性以及RGB熵的计算
- 335游戏C/S登录器,补丁更新、自动登录、信息手册
- 如何建立一个网站(我的5年经验谈)
- 一个将Google Maps API与ArcGIS JavaScript API for GMaps结合的例子
- gmap 支持python吗_Python:地图上的标记标签使用gmap.marker_层使用hover_-tex选项不工作...
- linux 安装 blas,Linux下Linpack安装过程