
目录前言效果步骤一、下载所需文件二、下载CesiumForUnreal插件三、处理下载的文件四、修改代码“CesiumForUnreal.uplugin”部分“CesiumEditor.cpp”部分“CesiumEditor.h”部分“CesiumPanel.cpp”部分“IonQuickAddPanel.cpp”部分“IonQuickAddPanel.h”部分“CesiumRuntime.Build.cs”部分两个报错五、 其它设置六、高版本编译GlobePawn资源所需文件下载地址工程下载地址前言为了达到类似于CesiumJs中的视角控制效果鼠标左键按下旋转地球鼠标中键按下旋转视角鼠标滑轮控制放大/缩小视图我们可以通过如下步骤实现。效果只需通过鼠标就可完成对视角的平移、旋转、缩放步骤一、下载所需文件1. 打开链接https://github.com/CesiumGS/cesium-unreal/pull/1449/files将如下4个文件下载到本地具体是先点击其中一个文件例如“GlobeAnchorActor.cpp”然后点击“View File”点击“DownLoad raw File”重复同样的步骤将这4个文件下载完。需要注意一下这4个文件的地址后面我们需要将其放到项目中的对应位置2. 将如下5个.uasset文件下载到本地需要注意一下这5个.uasset文件在工程中的路径二、下载CesiumForUnreal插件1. 打开如下地址https://github.com/CesiumGS/cesium-unreal/releases/tag/v2.7.0下载UE5.3对应的插件2. 将下载的插件放在工程中三、处理下载的文件1. 将步骤一中下载的操作映射相关资产放在工程中的“xx项目\Plugins\CesiumForUnreal\Content\Input”路径下将“GlobePawn.uasset”放在“xx项目\Plugins\CesiumForUnreal\Content”中2. 此时打开工程可以看到插件已安装刚放置的文件也已经在插件中显示3. 将步骤一下载的“GlobeAnchorActor.cpp”、“GlobeAnchorActor.h”、“GlobePawn.cpp”放到“xx项目\Plugins\CesiumForUnreal\Source\CesiumRuntime\Private”中将“GlobePawn.h”放到“xx项目\Plugins\CesiumForUnreal\Source\CesiumRuntime\Public”中4. 重新生成项目四、修改代码1. 在Github 中做了橙色标记的表示需要修改的文件红色表示删减的部分绿色表示增加的部分下面开始根据Github的内容修改代码2. 用VS2022打开解决方案开始编辑各个部分下面贴出各部分需要修改的代码块用于核对“CesiumForUnreal.uplugin”部分根据Github中“CesiumForUnreal.uplugin”修改的部分进行修改“CesiumEditor.cpp”部分增加如下代码“CesiumEditor.h”部分在“CesiumEditor.h”中增加如下部分代码“CesiumPanel.cpp”部分添加如下代码“IonQuickAddPanel.cpp”部分添加如下部分“IonQuickAddPanel.h”部分添加如下代码“CesiumRuntime.Build.cs”部分最后全部修改后重现编译一下代码。花了比较长的一段时间来编译两个报错可以看到编译后有两个报错打开第1个报错的地方修改成如下代码Logger.LogInformation(Scanning files... [{arg0}], FilesToCheck.Count);打开第2个报错的地方改为如下部分if (users ! null) { report.NotifyUsers.UnionWith(users); }修改好后再次生成解决方案然后打开UE。五、 其它设置1. 打开UE编辑器后可以在Cesium面板找到“GlobePawn”点加号向场景中添加一个“GlobePawn”检查一下操作映射有没有问题此时运行就可以控制“GlobePawn”了运行效果如文章开头所示。六、高版本编译GlobePawn如果想在一些高版本的Cesium for Unreal中编译GlobePawn目前我试了UE5.3Cesium for Unrealv2.17.0和UE5.8Cesium for Unrealv2.31.0首先需要将如下文件从老版本的Cesium for Unreal中复制到新版本Cesium for Unreal中对应的目录下在CesiumRuntime.Build.cs中引入对“EnhancedInput”模块的依赖PublicDependencyModuleNames.AddRange(new string[] { Core, CoreUObject, Engine, InputCore, EnhancedInput });然后在CesiumForUnreal.uplugin中添加如下代码{ Name: EnhancedInput, Enabled: true }资源所需文件下载地址访问不了GitHub的可以直接下载所需文件然后按照上述步骤完成功能。地址https://download.csdn.net/download/ChaoChao66666/89933185包含上述步骤中需要新增的.h、.cpp文件如下工程下载地址链接https://pan.baidu.com/s/1q_Aylv5X83HfLzbC6qwpIQ提取码cqma相关文章Cesium for Unreal 解决GlobePawn致使UE崩溃的方法参考Cesium for Unreal GlobePawn 抢先编译的实现