当前位置: 首页 > news >正文

国外网站服务器北京营销型网站建设费用

国外网站服务器,北京营销型网站建设费用,网站建设比赛,高端网站开发注意事项飞行漫游#xff0c;就是让Camera飞行。Camera有一些方法可以实现位置、视角的调整#xff0c;比如flyTo#xff0c;setView方法。但这些方法并不能沿着我们想要的路径调整#xff0c;在通过插值的方法不停的调用setView#xff0c;但这样会造成视图卡顿#xff0c;而且计…        飞行漫游就是让Camera飞行。Camera有一些方法可以实现位置、视角的调整比如flyTosetView方法。但这些方法并不能沿着我们想要的路径调整在通过插值的方法不停的调用setView但这样会造成视图卡顿而且计算起来也很麻烦。所以我们最好是借助entity通过跟踪运动中的entity就可以实现Camera的飞行了。官网示例 刚开始的时候以为官方会有类似于 viewer.trackedEntity entity; 的方法来实现第一人称视角结果找半天并没有发现。后来想的是通过 viewer.camera.setView 和 viewer.camera.lookAtTransform 之类的方式实现结果尝试很多次并没有成功。viewer.camera.lookAtTransform 也可以实现固定视角但是没找到如何改变仰角效果不太好因此放弃。最后改变思路尝试实时监听飞行状态通过 viewer.camera.lookAt 动态修改视角实现第一人称视角飞行。 完成第一视角跟随之后还需要取消跟随按照常规来说有绑定就应该有解绑。通过 onTickEvent viewer.clock.onTick.addEventListener 绑定作者认为是 viewer.clock.onTick.removeEventListener结果发现直接调用一次方法也可以这样更省事onTickEvent() 。至此第一视角跟随功能已可以完全实现 设置路径 我们将我们直接修改官网的CZML文件把没用的东西统统删掉。替换成自己的路径。 注意时间interval和时间快进倍数multiplier的关系 cartographicDegrees中每一行的参数分别是时间点、经度、纬度、高程。 我设置了18个点选择三分钟除以10倍也就是18秒跑完一圈 隐藏路径把width设为0 隐藏飞机把billboard删掉 [{id: document,name: CZML Path,version: 1.0,clock: {interval: 2020-08-04T10:00:00Z/2020-08-04T10:03:00Z,currentTime: 2020-08-04T10:00:00Z,multiplier: 10}},{id: path,name: path with GPS flight data,path: {width: 0,leadTime: 10,trailTime: 1000,resolution: 5},position: {epoch: 2020-08-04T10:00:00Z,cartographicDegrees: [0, 120.184679, 30.250211, 176,10, 120.184507, 30.252099, 173,20, 120.185151, 30.253816, 172,30, 120.185795, 30.254631, 170,40, 120.187125, 30.255704, 170,50, 120.189099, 30.255704, 167,60, 120.19176, 30.255103, 171,70, 120.194249, 30.254331, 165,80, 120.195236, 30.252442, 170,90, 120.195365, 30.250211, 154,100, 120.19455, 30.247808, 132,110, 120.192575, 30.24579, 127,120, 120.189614, 30.244761, 117,130, 120.187297, 30.244803, 113,140, 120.185795, 30.24549, 103,150, 120.183864, 30.247035, 103,160, 120.183907, 30.248795, 107,170, 120.183679, 30.249211, 176,180, 120.184679, 30.250211, 176]}} ]飞行漫游 我把上面的czml保存成了json格式它就是json并加载。 这里用到了插值作用是在你拐弯的时候一样如丝般润滑 viewer.dataSources.add(Cesium.CzmlDataSource.load(./path.json)).then((ds) {flyEntity ds.entities.getById(path)flyEntity.position.setInterpolationOptions({interpolationDegree: 5,interpolationAlgorithm: Cesium.LagrangePolynomialApproximation})viewer.trackedEntity flyEntity})调整视角 调整视角是在viewer.scene.preUpdate.addEventListener(function () {})中完成的。在这个函数中调用viewer.camera.lookAt()方法改变视角。 lookAt的第二个参数可以是坐标向量也可是角度对象。我这里是用了向量Cartesian3对象作为第二个参数。你也可以使用角度对象HeadingPitchRange可以参考 这位博主的博客) 我这里是让Camera每时每刻对准某一点你可以在其中实现更复杂的操作 const target new Cesium.Cartesian3.fromDegrees(120.189, 30.254, 300)function setRoamView() {if (flyEntity) {const center flyEntity.position.getValue(viewer.clock.currentTime)if (center) {const vector new Cesium.Cartesian3(target.x - center.x, target.y - center.y, 300)viewer.camera.lookAt(center, vector)}} } viewer.scene.preUpdate.addEventListener(setRoamView)补充 用户可能会想到停止漫游两步 取消Camera跟踪即 viewer.trackedEntity null取消事件绑定 viewer.scene.preUpdate.removeEventListener(setRoamView) 文章借鉴博客地址大洪、非科班Java出身GISer
http://www.dnsts.com.cn/news/25835.html

相关文章:

  • 网站维护 案例买2g 空间做下载网站
  • 昌图网站合肥百度推广优化排名
  • 做国外的营销的网站淄博网站开发
  • 加盟招商网站建设方案书东道官网
  • 网站开发前景如何手机app软件制作工具
  • 企业网站制作的公司源码怎么做成app软件手机版
  • 西昌手机网站设计wordpress图片上加文字
  • 济南招聘网最新招聘广东企业网站seo点击软件
  • 网站域名哪看微信 存储wordpress
  • 网站构成的基本结构房屋装修效果图用什么软件
  • php大型网站开发wordpress后台是英文
  • 成都网站备案查询农村服务建设有限公司网站
  • 利用模板建网站设计师导航
  • 北京上地做网站十大平面设计培训
  • 网站维护界面企业网站备案要钱嘛
  • 太原响应式网站建设企业管理类的网站
  • 网站开发开发优势我要建立自己的网站
  • 电脑做ppt一般下载哪个网站好营销型企业网站一般具有哪些功能
  • 黄的网站建设网站图标ico
  • 河南网络洛阳网站建设河南网站建设网站后台密码修改
  • 如何规范使用静态网站买完域名后如何建设网站
  • 公司想做个网站怎么办wordpress 只能做博客
  • 建设的网站别人登录密码建设银行手机银行官方网站下载安装
  • 坂田网站建设哪家好360手机优化大师下载
  • 网站建设服务亮点程序员怎么用wordpress
  • 新开传奇网站刚开一秒第一区手机网站的后台管理
  • 凡科网的网站免费的可以用吗东莞哪种网站推广好
  • 深圳移动官网网站建设新品上市怎么做宣传推广
  • 工程建设项目在哪个网站查询天津招投标天津建设工程信息网
  • 网站制作百度资源wordpress 分库