cesium for ue5中actor的cesium georeference组件的改变(英文教程文档是更新了的)

今天,重新回顾下cesium for ue的教程,actor添加cesium georeference组件
在这里插入图片描述

发现在ue5中,没有这个组件了,
在这里插入图片描述

忍住卸载ue5,重新安装ue4.27的冲动,cesium的组件数量增多了,反而功能减少了?不可能,绝对不可能。再看了下CesiumGlobeAnchor组件的注释,应该就是它了。
果然,在这里插入图片描述

源码也得抓紧读了,因为组件和api老变。起码要知道变了的都是什么东东。

ok,就这样吧。

不过,发现没有,添加了TMS和wms数据服务组件等,加一个CesiumWebMapServiceRasterOverlay组件
在这里插入图片描述
看来,cesium for ue的功能越来越强大了,暴露出来的接口越来越多了。
再加个CesiumBingMapsRasterOverlay组件
在这里插入图片描述
还有添加水特效的,cesium for ue,这几年瞒着我们添加了这么多功能
在这里插入图片描述
我觉得这个很有意义,为什么呢?因为Ue控制actor是很方便的。如果把ceisum for ue中的组件,当做Actor中的其他组件一样处理(比如移动组件),是相当实用的。

举个例子,以往版本的Cesium3DTileset类才具有的功能,会在普通Actor中通过调用相应的组件逐步完善。这就相当强大了。
在这里插入图片描述

看来,值得期待,ok,就这样吧。

### 在Unreal Engine中使用Cesium插件加载高德地图数据 #### 安装和配置Cesium for Unreal 为了在Unreal Engine项目中集成并利用Cesium来显示来自高德的地图影像,需先完成Cesium for Unreal的安装。 可以通过Epic Games Launcher中的Twinmotion部分找到Cesium for Unreal插件,并按照提示进行安装。也可以访问官方GitHub仓库获取最新版本源码编译安装[^1]。 #### 配置高德地图服务 由于Cesium默认支持多种在线地理信息服务提供商(如Bing Maps, ArcGIS Online),而直接对接中国本土服务商如高德地图则需要额外设置: 1. **申请API Key** 访问高德开放平台注册账号并创建应用以获得合法使用的密钥。 2. **自定义图层URL模板** 构建符合Cesium预期格式的Tile Map Service(TMS)或Web Map Tile Service(WMTS)请求链接字符串。对于高德而言,通常形式如下: ``` https://webrd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z} ``` 3. **实现ImageryProvider类** 编写继承于`Cesium::CustomUrlTemplateImageryProvider`的具体子类,在其中重载虚函数指定上述定制化参数。 ```cpp #include "Cesium/CustomUrlTemplateImageryProvider.h" class AGaodeMapProvider : public CustomUrlTemplateImageryProvider { public: AGaodeMapProvider(const FString& apiKey) : CustomUrlTemplateImageryProvider( TEXT("https://webrd0{x}.is.autonavi.com/appmaptile?" "lang=zh_cn&size=1&scale=1&style=7&x={X}&y={Y}&z={Z}"), /*minLevel=*/0, /*maxLevel=*/19, /*tilingScheme=*/std::make_shared<CesiumGeospatial::WebMercatorTilingScheme>(), /*rectangle=*/Rectangle::MAX_VALUE, /*apiKey=*/apiKey) {} }; ``` 4. **实例化与挂接至场景视图** 最后一步是在UE编辑器内或者蓝图脚本里新建该提供者的实体对象并将之绑定到当前世界的可视化组件上。 ```blueprint // 假设已在C++侧暴露了AGaodeMapProvider给Blueprints GaodeMapProvider = NewObject<AGaodeMapProvider>(this,TEXT("MyGaodeLayer")); if(GaodeMapProvider){ GaodeMapProvider->SetupPlayerInputComponent(PlayerController); UWorld* world = GetWorld(); if(world && CesiumEditorUtils::IsCesiumForUnrealEnabled()){ ACesium3DTileset* tileSet = ACesium3DTileset::AddNew(this,FVector(0.f)); tileSet->SetImageryProvider(GaodeMapProvider); } } ``` 通过以上步骤即可实现在基于Unreal Engine的游戏或其他虚拟环境中调用高德地图作为底图资源展示的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值