Unity Cesium 源码编译


前言

Cesium底层为Cesium Native(C++),官方制作了unity、unreal等包体供不同平台使用,但是想要更改、添加某些功能就需要在底层进行修改,这就涉及到源码编译。只有在源码修改再编译,引入平台才能实现想要的功能,unreal因为本身就是C++的官方语言有不少人进行扩展,unity发展相对慢一些,下面就介绍如何根据官方文档进行自定义修改。

一、前置条件

  1. 安装Cmake v3.15或更高的版本
  2. NET SDK V6.0 或以上
  3. 安装VS2022
  4. 在Windows上,必须启用对长文件路径的支持
  5. 安装nasm
  6. 需要访问GitHub,这里我将关键的包下好了,至于编译后的得需要大家手动搞得,毕竟net、cmake之类的版本差一点项目就可能不通用(以自身的项目环境为准)。
    在这里插入图片描述
    基本命令行:
    进入D盘:cd /d d:
    清空当前内容:cls

二、下载工程及源码

1、unity工程

git clone --recurse-submodules https://github.com/CesiumGS/cesium-unity-samples.git

在这里插入图片描述
2、包
进入Packages进行下载,一般来说会有三个扩展文件下载失败

git clone --recurse-submodules https://github.com/CesiumGS/cesium-unity.git
 com.cesium.unity

在这里插入图片描述
3、手动下载失败资源
下载扩展资源下的三个文件夹,放入cesium-unity-samples\Packages\com.cesium.unity\native~\extern
在这里插入图片描述

这里在国内下载很容易出错,手动下又太麻烦,我会整理资源上传网盘,需要的可以问我要。 但我的版本肯定不是最新版,所以大家能自己搞定最好自己搞。

三、源码编译

1、中间插件(c#-c++)
进入com.cesium.com输入以下命令插件安装,会有3个extern下的资源下载失败,如果报错过多可能是网络问题。

dotnet publish Reinterop~ -o .

在这里插入图片描述

2、unity编译
使用2021.3.10以上打开进行编译,我这里使用的是2021.3.16f1
3、cmake
生成vs解决方案(也就是有sln的项目)

cmake -B build -S . -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Debug

在这里插入图片描述
成功
在这里插入图片描述
4、修改源码
进入目录D:/cesium-project/cesium-unity-samples/Packages/com.cesium.unity/native~/build用vs2022打开sln文件
在这里插入图片描述
5、编译解决方案
选中项目总体生成解决方案(快捷键ctrl+shift+b)
在这里插入图片描述
进入目录D:/cesium-project/cesium-unity-samples/Packages/com.cesium.unity/Editor,将上图两个dll放入,最后打开unity查看场景是否正确。

四、简化流程

编译三步

cd D:/cesium-project/cesium-unity-samples/Packages/com.cesium.unity/native~
cmake -B build -S . -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -j14 --target install --config RelWithDebInfo

如果已经生成sln文件,那以后只需要执行以下代码进行快速编译,dll文件也会直接生成并覆盖到cesium-unity-samples\Packages\com.cesium.unity\Editor文件夹下。

cd D:/cesium-project/cesium-unity-samples/Packages/com.cesium.unity/native~
cmake --build build -j14 --target install --config RelWithDebInfo

总结

本文实现了Unity Cesium的源码编译过程。有细心的开发者可能发现官方文档还有封装Cesium的步骤,这个贴下下面就不做演示了。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41912124/article/details/132319402