数字孪生-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')

相关推荐
山有木兮木有枝_10 分钟前
JavaScript 设计模式--单例模式
前端·javascript·代码规范
一大树24 分钟前
Vue3 开发必备:20 个实用技巧
前端·vue.js
颜渊呐29 分钟前
uniapp中APPwebview与网页的双向通信
前端·uni-app
10年前端老司机41 分钟前
React 受控组件和非受控组件区别和使用场景
前端·javascript·react.js
夏晚星42 分钟前
vue实现微信聊天emoji表情
前端·javascript
停止重构44 分钟前
【方案】前端UI布局的绝技,响应式布局,多端适配
前端·网页布局·响应式布局·grid布局·网页适配多端
極光未晚44 分钟前
TypeScript在前端项目中的那些事儿:不止于类型的守护者
前端·javascript·typescript
ze_juejin1 小时前
Vue3 + Vite + Ant Design Vue + Axios + Pinia 脚手架搭建
前端·vue.js
lichenyang4531 小时前
React项目(移动app)
前端
用户61848240219511 小时前
Vue-library-start,一个基于Vite的vue组件库开发模板
前端