数字孪生-DTS-孪创城市-湖区分布

前言

各位小伙伴们,大家好,今天蘑菇头带来的是世界湖区功能的一个分享,主要利用的是图片贴花的技术,将我们的图片与三维场景进行一个贴合的效果,可以较为宏观的对我们的场景进行一个分析,快来一起看看吧。

思路

首先可以看到,同样需要将我们的样式进行调整,所以直接复用我们上一段代码。

dart 复制代码
 await fdapi.camera.set(525323.14875, 3435349.377813, 273227.06, -85.987404, -95.227394, 2)
 await fdapi.weather.setDarkMode(true)
 await fdapi.infoTree.hide(digitalTwinStore.digitalTwin['苏州地形影像_Water'])

通过api文档可以发现,图片贴花比较简单,只需要调用Decal类的add方法,通过调节位置,缩放,旋转参数就能达到我们想要的效果。

但是,可以通过代码调节起来会很麻烦,所以我们直接写了一个组件来帮助大家调节。贴花组件_免费高速下载|百度网盘-分享无限制

需要将lib下的两个配置文件(ac.min/ac.conf)进行替换为cloud里面sdk下的配置文件,打开是这个样子。

首先,我们先点击获取位置,然后在合适的位置点击鼠标左键即可看见坐标上去了,然后填写贴花路径,这个路径是我们cloud资源路径对应下的贴花路径,直接点击复制粘贴过去即可,然后就可以看见贴花上去了。

但是可能会被拉升导致变形,没关系,我们可以通过调节位置,缩放等操作就可以调整到我们想要的位置,然后点击获取贴花参数,复制到我们的代码中即可快速完成调节。

所以我们完整的代码是这样。

dart 复制代码
import { useDigitalTwinStore } from '@/stores/digitalTwin'
const digitalTwinStore = useDigitalTwinStore()

export const initLake = async () => {
  await fdapi.camera.set(525323.14875, 3435349.377813, 273227.06, -85.987404, -95.227394, 2)
  await fdapi.weather.setDarkMode(true)
  await fdapi.infoTree.hide(digitalTwinStore.digitalTwin['苏州地形影像_Water'])

  const decal = {
    id: 'lake',
    groupId: '',
    userData: '',
    texturePath: '@path:世界湖区.png',
    order: 1,
    decalBlendMode: 0,
    location: [524000, 3462000, 127],
    rotation: [-90, 0, 0],
    scale: [270000, 270000, 270000]
  }
  await fdapi.decal.add(decal)
}
export const exitLake = async () => {
  await fdapi.weather.setDarkMode(false)
  await fdapi.infoTree.show(digitalTwinStore.digitalTwin['苏州地形影像_Water'])
  await fdapi.decal.delete('lake')
}

涉及的飞渡api

  • 添加贴花-fdapi.decal.add('lake')

  • 删除贴花-fdapi.decal.delete('lake')

相关推荐
天天扭码1 小时前
零基础 | 入门前端必备技巧——使用 DOM 操作插入 HTML 元素
前端·javascript·dom
咖啡虫2 小时前
css中的3d使用:深入理解 CSS Perspective 与 Transform-Style
前端·css·3d
拉不动的猪2 小时前
设计模式之------策略模式
前端·javascript·面试
旭久2 小时前
react+Tesseract.js实现前端拍照获取/选择文件等文字识别OCR
前端·javascript·react.js
独行soc2 小时前
2025年常见渗透测试面试题-红队面试宝典下(题目+回答)
linux·运维·服务器·前端·面试·职场和发展·csrf
uhakadotcom2 小时前
Google Earth Engine 机器学习入门:基础知识与实用示例详解
前端·javascript·面试
麓殇⊙3 小时前
Vue--组件练习案例
前端·javascript·vue.js
outstanding木槿3 小时前
React中 点击事件写法 的注意(this、箭头函数)
前端·javascript·react.js
会点php的前端小渣渣3 小时前
vue的计算属性computed的原理和监听属性watch的原理(新)
前端·javascript·vue.js
_一条咸鱼_4 小时前
深入解析 Vue API 模块原理:从基础到源码的全方位探究(八)
前端·javascript·面试