高端响应式模板免费下载

响应式网页设计、开放源代码、永久使用、不限域名、不限使用次数

什么是响应式网页设计?

2024年车载导航网页设计(10篇)

车载导航网页设计 第1篇

除了在引擎层做了优化之外,我们在 Map 层我 们做了这些优化内容,包括 Shader 变体的裁剪,Tile 做了一些 cache,我们会根据最近一段时间没有被用到的 Tile 清除掉,这个时间和缓存大小目前都是可配置的。 我们还加入了异步加载 tile 的方式,使得加载卸载 Tile 的时候不会卡主线程,保证帧率的稳定。

我们后续 3D 地图 sdk 的规划内容如下。

后续我们会继续尝试 SGSR 超分的 GPU 优化方法,以及尝试使用 Shader LOD 对场景中的物件材质根据 LOD 来选择不同的消耗的 Shader 和动态 LOD 来最优化 GPU 性能。

以上是我分享的内容,谢谢大家。

团结引擎车机套件是基于团结引擎车机版及相关开发工具打造的智能座舱 3D HMI 应用集合(车模车控、导航智驾、游戏娱乐、3D Launcher 等)支持主流座舱系统和平台,覆盖座舱主要应用场景,并提供一流的视觉效果体验。作为车载应用渲染方案的最佳实践集合,能够有效缩短项目开发周期,降低成本。截止五月,智能电动车品类中超过 85% 的主机厂用 Unity 来打造中控屏、仪表盘。Unity 中国已与 35 家车厂合作,推出了 68 款量产车型。

[1]团结引擎官网:

[2]团结引擎专区:

[3]团结引擎问答专区:

Unity 官方微信

第一时间了解Unity引擎动向,学习进阶开发技能

每一个“在看”,都是我们前进的动力

车载导航网页设计 第2篇

首先 3D 地图底图的构建思路我们是基于游戏开放世界为原型来架构的。

因为地图图商的本身的数据结构一般都是基于瓦片(tile)的形式来组织的,跟游戏的开放世界、大世界是非常一致的。每个瓦片(tile)上的物件也是按照层次组织的,从路网到建筑,再到细小的道路标志都可以通过更新当前自车的经纬度坐标决定去加载/卸载瓦片来实现,是不需要通过每帧加载卸载和移动整个地图,而是按需来加载卸载相应的瓦片(tile),就可以完成整个地图的更新。

车载导航网页设计 第3篇

另外有一个重大的功能就是URAS (Unity Render As Service),这个可以在启动和内存方面有很大的提升。

如图所示,这里是团结引擎车机版使用 URAS 的测试数据,可以看到使用团结引擎车机版和普通的 Unity 版本相比在启动时间上有比较大的提升。

URAS, Unity Render As Service,是团结引擎车机版的一个重要的功能,它区别于传统的 UAAL Unity As a Library,在传统的 UAAL 里面一个进程中只能存在一个实例中,只能为当前进程服务。但是在 URAS 中,可以支持引擎可以作为渲染服务被嵌入原生 APP 中,多个工程共用一个渲染服务,互不干扰,从而提升开发效率和节省车机资源

如图所示,这是 3D 地图使用 URAS 的方式,我们轻 Client 端和重 RenderService 端, 可以看到,Client 端只有跟安卓相关的显示内容和为 RenderService 提供的 SurfaceView。 其他所有的内容和业务逻辑都是放在 RenderService 端,Client 端和Service 端通过 aidl 通信。

车载导航网页设计 第4篇

我们3D地图是用团结引擎车机版开发的,团结引擎目前已经实现了支持 HMI Android、QNX、EmbeddedLinux 等车机系统相关的平台。在这些平台上专注做了特定的优化,比如车机重点关注的启动时间,内存占用,线程使用数量都有相应的优化。

车载导航网页设计 第5篇

为了更好的性能,项目使用dots来开发整个地图 Layer,这里是地图 Layer 的所有 ECS 相应的 SystemGroup 和每个 Group 内部的各类 System,按照业务需要可以创建各种 System。有负责更新地图数据的 group,有用来负责数据转换的 group,还有帮助 TA 和设计需求来处理数据的 group,以及动态查询相关的 Entity 和动态地调整个地图的整体坐标,保证在远距离移图和导航的时候的动态校准的 group,然后还有是 Mesh 创建的 group,还有负责最终可渲染的 Entity 创建的 group,最后还有负责 UnLoad 卸载各类资源的 group,保证内存。

车载导航网页设计 第6篇

传统的 2D 地图,整体是扁平的 2D 风格,这类地图一般来说信息量很少,缺乏沉浸度。现在也出现传统意义上的 3D 地图,即整体画面是 3D 的,能旋转、平移、地图缩放,地图上的基本元素如建筑、道路是 3D 风格的,这类地图比前面的地图信息量好一些、多一些,但也有一些缺点:画面不够真实、沉浸度也缺少。

这里是Unity 3D 地图跑在高通 8295 设备上的效果。 整个地图的渲染效果十分丰富,有实时光影、昼夜变换、天气系统、地面实时反射、楼块的动态生长、万家灯火、动态水面波纹、水面反射、多层水体、随机植被的生成,AOI 的挤出以及全物件样式的实时高清渲染。

Unity 3D 地图是一款基于团结引擎车机版打造的次世代车载地图导航软件。以游戏开放世界为概念原型来构架的,将渲染品质全面升级到次世代实时 3D 地图导航,目前可以作为一个量产方案,并在高通的 8155、8295 上都有不错的表现。

路网方面,我们开放了样式配置,可以定制材质、定制车道级道路要素模型,大概二十多种的路网样式可供挑选。

在天空和天光的氛围方面,实现了动态天空24小时-分钟级变换,实时天气系统,根据车辆所在地的外部天气动态更新当前地图上的天气效果,比如阴晴雨雪等各类天气都已经全部实现。

导航中必要的比如 3D 蚯蚓线,3D 的 POI 已经实现如上图所示,其中 3D POI 是可以被其他物件比如建筑遮挡,这样就起到了一定沉浸度的效果。车道级导航效果如图所示,完成了包括环境绘制,车道级导航引导线绘制等。

我们还根据不同的品牌属性和节日做了各种定制化的效果实现

比如给 4S 店或者研发中心等特定建筑 POI 图标定制、替换,根据不同需求进行 3D 建筑定制替换,给楼宇增加 logo 标识,另外还有节日彩蛋的定制,比如情人节,圣诞节,在节日当天会对车机的地图实时地在线更新,以达到更加沉浸度和可交互性。

车载导航网页设计 第7篇

为了更加极致地提升 GPU 的性能,我们还针对特定硬件平台使用了特定的优化功能,比如高通的 GPU 在 8295 上就支持 GLES 的VRS,VRS 也就是可变着色率,就是可以控制 GPU 渲染器在光栅化物体的时候,可以不一定要按照固定的每个像素点一次采样计算的方式,而是可以用2个或自定义的三个、多个像素行列来做一次 Fragment Shader 计算。在项目当中,可以针对画面中颜色变动很小的物件材质使用比如 1x2 或者 2x1 的 VRS,在地图 SDK 里面,我们目前是对地面、普通建筑、天空使用了 VRS,对于精模比较贴近相机的物体,精细化的模型我们是没有使用的。这样在不影响画面的情况下,极大地提升了 GPU 性能和帧率。

如图所示可以看到,在关闭和开启 VRS 的情况下,帧率从 39 帧提升到 51 帧,提升了近 30%,带来的收益是 CPU 的各个线程的工作时间直接减少,GPU 的开销也降低,同时 CPU 在等 GPU 的时间也并行地减少,这样在不影响画面质量的情况下,极大地提升帧率和降低硬件的算力和功耗。

车载导航网页设计 第8篇

地图的数据结构是按照图层来分的,分为BMD(背景数据)、Obj3D(3D数据)、HD(高精道路数据)三个图层,每个图层分了很多类别,比如 POI、AOI 归为背景图层。3D 建筑、3D 精模、3D 模型归为 3D 模型,可以按照层次去组织地图的渲染方式。

为了更好地了解3D地图技术细节,这里对项目中使用的坐标做个解释。目前 Unity 3D 地图使用了 3 种坐标系:(1)经纬度。(2)墨卡托投影坐标。(3)Unity 坐标。

经纬度地表是接入图商地图 sdk 几何数据接入时的初始形式。再经过墨卡托投影坐标通过近似将经纬度投影到平面上,每个经纬度转换后有唯一的二维坐标,转换后的墨卡托坐标一般数值非常大。为了比较好地在 Unity 坐标里面渲染,需要进一步转换得到 Unity 坐标,转换到 Unity 坐标需要用墨卡托的参考点和当前缩放的尺度,这两个值加上转换规则就可以转换到 Unity 可渲染的坐标了。转换之后可渲染的数据会在 dots 的 JobSystem 中进行三角化处理,之后网格数据以及设计师、美术师创建的资产可以实时地传到 GPU,完成实时渲染。

车载导航网页设计 第9篇

再来看一下 3D 地图的 tile 的加载卸载和相机的高度以及地图比例尺缩放这三者的关系。

在 3D 地图的每一帧画面中,Unity 相机的视域体和地平面会有四个交点,如图所示相机的四条白色射线(相机视域体)与地平面构成一个地图加载范围框,图中红色框,然后通过调用图商地图 sdk,从而得到当前所需要的瓦片的具体数据。在每一帧更新当中,在墨卡托参考点和缩放比例尺确定的情况下,红框所表示的范围将从 Unity 坐标反过来转换回经纬度坐标(原始坐标),经纬度坐标通过图商地图 sdk 调用,就得到了每一帧真正需要用到的那些瓦片数据和地图的数据。同时把红框之外的 tile 卸载,这样就完成 tile 的加载和卸载操作。

车载导航网页设计 第10篇

最左边是车机系统,包括 Android, QNX, Embedded Linux 等。当在车机系统启动后,一般来说会启动相应的服务,这个时候会启动对应的桌面Launcher,Launcher 在启动的时候会把座舱需要用到的各种服务按照优先级会按序启动起来,那么 3D 地图本身因为是URAS 架构,这时候可以把 Render Service 在这个时候做启动,极大地加速启动时间。

Render Service 在启动的时候会异步的初始化我们的 3D 地图 sdk,这个操作是通过安卓主线程直接调用 SDK,不需要通过 Unity,这样安卓线程相关的工作可以和 Unity 本身的初始化工作并行处理,极大地加速了 3D 地图的启动时间,然后在 Render Service 启动的时候,会把 Unity 主线程启动,Unity 相关的工作也开始启动起来了,当 Unity 第一个场景加载完毕的时候,我们会开始根据当前自车的 GPS 定位数据,异步地通过地图 sdk 拉取周边的地图 tile 数据,返回的是 NDS 数据,我们会做相应的转换,把 NDS 数据通过刚刚讲到的墨卡托投影转为Unity 坐标,这些转换后的地图数据会在 job system 中进行三角面化,从而得到相对应的可渲染元素的网格。

这些网格数据加上设计师提供的资源,一起会被提交给渲染线程。拿到这些网格和资源之后会提交给 GPU,做实时渲染。最后这些渲染画面会根据车厂的设计到底是在中控屏上显示地图,还是投屏到仪表上,都是可以的,因为这也是 URAS 的重要功能。

猜你喜欢