UE CesiumForUnreal 笔记

推荐入门

Cesium for Unreal Quickstart_哔哩哔哩_bilibili

ue2048 的文章 - SegmentFault 思否

笔记

1.去除左下角LOGO

Cesium for Unreal Q&A-如何删除Cesium ion的Logo_哔哩哔哩_bilibili

UE CesiumForUnreal 笔记_第1张图片

UE CesiumForUnreal 笔记_第2张图片

  • 修改 */Engine/Plugins/Marketplace/CesiumForUnreal/Content/CesiumCreditSystemBP 的CreditsWidgetClass. ScreenCredits → ScreenCreditsWidget
  • 直接修改 */Engine/Plugins/Marketplace/CesiumForUnreal/Content/ScreenCredits .把SafeZone_0可视性设置为隐藏

UE CesiumForUnreal 笔记_第3张图片

2. 模型绑定经纬度坐标

Cesium for Unreal 对齐模型到地理位置_哔哩哔哩_bilibili

UE CesiumForUnreal 笔记_第4张图片

  • 模型Actor添加Cesium Globe Anchor组件
  • 使用Sublevel的方法.可以参考视频教学.目前还没试这方法.所以没细节分享

3.设置经纬度原点

设置的经纬度在UE的坐标就为0,0,0.

UE CesiumForUnreal 笔记_第5张图片

4.缩放镜头根据距离自适应速度

官方的pawn已经完成了相关代码.具体代码在绿色方块中.我自己是断开了红色的方块.这些代码是使用来滚轮设置速度倍数.

UE CesiumForUnreal 笔记_第6张图片

5.加载本地的倾斜模型

Cesium for Unreal 加载本地倾斜摄影_哔哩哔哩_bilibili

Cesium for Unreal 部署和加载服务器上的倾斜摄影_哔哩哔哩_bilibili

使用Cesium3DTileset Actor类.设置Source为FromUrl

* 本地文件路径注意打包问题. 

  • 本地文件路径使用 file:/// 开头
  • 网络路径使用 http:// 开头

UE CesiumForUnreal 笔记_第7张图片

UE CesiumForUnreal 笔记_第8张图片

打开Windows文件夹选择本地文件
.h

	UFUNCTION(BlueprintCallable)
	/// 
	/// 打开Windows的文件夹
	/// 
	/// 选中文件返回地址
	/// 筛选文件类型
	/// 是否成功
	static bool OpenWindowsFile(FString& FilePath, FString FileType = TEXT("AllType (*.clt;*.Pak;*.mbtiles;*.kml;*.kmz;.shp;*.FBX;*json)|(*.clt;*.Pak;*.mbtiles;*.kml;*.kmz;.shp;*.FBX;*json|CLT | *.clt|Pak | *.Pak|Mbtiles | *.mbtiles|Kml | *.kml|Kmz | *.kmz|Shp | *.shp|FBX | *.FBX|Json | *json|"));
.cpp

bool UEarthLibrary::OpenWindowsFile(FString& FilePath, FString FileType /*= TEXT("CLT | *.clt|Pak | *.Pak|Mbtiles | *.mbtiles|Kml | *.kml|Kmz | *.kmz|Shp | *.shp|FBX | *.FBX|")*/)
{
	/*定义默认打开路径*/
	FString DefaultPath = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir());

	/*定义筛选文件类型*/
	//FString FileType = TEXT("图片文件 (*.png文件)|*.png");
	IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get();

	/*用于保存选中文件后返回的路径*/
	TArray PathNames;

	/*调用引擎的OpenFileDialog函数;其中EFileDialogFlags::None 为单选文件,EFileDialogFlags::Multiple 允许多选文件*/
	DesktopPlatform->OpenFileDialog(nullptr, TEXT("请选择文件"), DefaultPath, TEXT(""), *FileType, EFileDialogFlags::None, PathNames);

	/*判断是否返回有效路径*/
	if (PathNames.Num() > 0)
	{
		FilePath = PathNames[0];;
		/*是,返回路径*/
		return true;
	}

	/*否,返回空字符串*/
	FilePath = TEXT("");
	return false;

}

6.摄像机跳转到物体位置

UE CesiumForUnreal 笔记_第9张图片

7.加载地形

加载原理与加载倾斜模型一样

Cesium for Unreal 加载本地地形_哔哩哔哩_bilibili 视频

Cesium for Unreal 加载本地地图(TMS)_哔哩哔哩_bilibili 视频

Cesium for Unreal 叠加地图影像_哔哩哔哩_bilibili 视频

【UE5 Cesium】15-Cesium for Unreal 加载本地影像和地形-CSDN博客 文字

- CesiumIonRasterOverlay(在线地图影像)

依然使用3DTiles这个Actor.使用URL加载地形.CesiumIonRasterOverlay (0=白模材质 2= 无标注地图 3 = 有标注).

UE CesiumForUnreal 笔记_第10张图片

0=白模材质

2= 无标注地图

3 = 有标注地图

 - CesiumTileMapServiceRasterOverlay(离线/本地影像)

卫星图下载网站

:​​​​​​软件下载-高清卫星地图下载器_离线地图发布_水经微图地图下载器-水经注GIS

cesiumlab

下载中心 地球可视化实验室.团队致力于提供基础应用开发,助力数字孪生从业者,开发相关业务。

URL: xml格式文件

UE CesiumForUnreal 笔记_第11张图片

UE CesiumForUnreal 笔记_第12张图片

疑难杂症

1.在编辑器操作时摄像机移动会胡乱旋转

点击图中Place Georeference Origin Here进行重置摄像机.

UE CesiumForUnreal 笔记_第13张图片

2.设置URL没效果/没反应

调用Refresh刷新一下

UE CesiumForUnreal 笔记_第14张图片

3.Cesium for Unreal的MaterialLayerKey默认只有Overlay0-2.如果有需要更多层级

官方文档可以参考: 编辑图块集材质 – Cesium

  • .../CesiumForUnreal/Content/Materials/Instances/MI_CesiumThreeOverlaysAndClipping.uasset --→ 图层参数手动添加材质层.
  • 不需要改CesiumGltfWithOverlays材质函数.

UE CesiumForUnreal 笔记_第15张图片

4.使用Cesium for unreal插件 特效是黑色的问题

解决UE4(使用Cesium for unreal插件)拖入三维控件actor时,显示设置为场景后在界面中变为黑方块的解决办法_ue4运行场景变成黑色了一播放就是白色的-CSDN博客

照着上方链接 6-7-8步骤

UE CesiumForUnreal 笔记_第16张图片

UE CesiumForUnreal 笔记_第17张图片

UE CesiumForUnreal 笔记_第18张图片

你可能感兴趣的:(笔记)