数字孪生城市实验室在3月份的工作重点是“在继续改善可视化效果基础上,加强开发社区的数据管理功能”。
作为数字孪生体联盟的重点实验室之一,数字孪生城市实验室把开源社区作为建设重点,组织了专门的团队集中开发,同时邀请数字孪生体联盟成员参与。
目前正在研发三维场景设计工具,目标是提供一个直观、易用的设计平台。
按照计划,数字孪生城市开源社区每周发布进展报告。
上周(2021.3.15-2021.3.21)主要完成以下工作:
一、使用自定义shader给3dtiles模型着色。
Shader是WebGL中很重要的概念,它主要分为Vertex Shader和Fragment Shader。Vertex Shader主要处理顶点数据,它将我们传递进去的顶点数据处理后告诉GPU,GPU就知道需要在什么位置绘制几何体了。Fragment Shader主要处理像素数据,每个像素在呈现前都要经过Fragment Shader的处理。
Cesium中可以通过自定义Shader给3dtiles模型着色,其缺点是所有模型的效果都是一样的。Cesium通过编程方式进行建筑模型着色的能力十分有限,不支持通过编程方式给3dtiles模型进行材质设置、贴图设置。

二、数据管理功能。数据管理功能是一个后台的数据文件管理模型,实现数据文件的增删改查。设计此功能的目的是要把平台用到的数据管理起来,可以实现数据的分享。
三、开发轨迹漫游组件。轨迹漫游实现了模型沿GPS轨迹路径移动的功能。开发中需要注意漫游功能使用的轨迹坐标数据是否与地图匹配,可能存在轨迹数据不能与地图上的道路匹配的情况,本例中轨迹数据的坐标使用了WGS84坐标系,高德地图使用的是gcj02坐标系,需要对轨迹坐标进行转换,这样在地图上车辆就是沿道路运动了。

数字孪生城市演示地址:
https://dtc.innodigital.cn
相关源代码已经发布到openii.cn:
https://openii.cn/digitalcity/digitaltwincity
如果需要加入数字孪生城市实验室,建议以公司名义申请“数字孪生体联盟”成员,这样再去申请数字孪生城市开源社区更容易获得通过。
加入数字孪生城市开源社区说明:
https://openii.cn/digitalcity/community
评论