Cesium for Unreal 从源码编译到应用——插件编译

news2025/1/10 20:36:12

一、安装环境

Unreal Engine 5.3

CMake 3.17.5

Microsoft Visual Studio 2019

二、源码准备

下载cesium-unreal-samples工程。

git clone https://github.com/CesiumGS/cesium-unreal-samples.git

然后在工程目录创建Plugins文件夹,并下载cesium-unreal工程。

cd cesium-unreal-samples

mkdir Plugins

cd Plugins

git clone --recursive https://github.com/CesiumGS/cesium-unreal.git

子模块更新

git submodule update --init --recursive

检查全部子模块下载成果。

三、编译cesium-native

首先,在 Devcesium-unreal-samples\Plugins\cesium-unreal\extern 目录中配置 CMake 项目。注意:以下步骤必须在 extern 目录中完成,而不是在 cesium-native 子目录中完成!

针对 Visual Studio 2019 进行配置,请打开“适用于 VS 2019 的 x64 本机工具命令提示符”并执行以下命令:

cmake -B build -S . -G "Visual Studio 16 2019" -A x64

将在目录 cesium-unreal-samples\Plugins\cesium-unreal\extern\build 中生成名为 cesium-unreal-extern.sln 的项目文件。可以在 Visual Studio IDE 中打开此解决方案文件并正常编译.

若要将 cesium-native 安装到项目中(这是与 Cesium for Unreal 一起使用所必需的),请在“解决方案资源管理器”中右键单击“安装”,然后选择“生成”。INSTALL 可以在名为 CMakePredefinedTargets 的文件夹中找到。使用“解决方案配置”下拉列表在“调试”和“发布”配置之间进行更改。

或者采用CMake command-line进行构建

构建 cesium-native 的“调试”版本

cmake --build build --config Debug --target install

构建 cesium-native 的“发布”版本

cmake --build build --config Release --target install

四、编译生成插件

第一个参数是 UE的安装路径下的文件(C:\Program Files\Epic Games\UE_5.3\Engine\Build\BatchFiles\RunUAT.bat);第二个参数是插件的源码路径;第三个参数是输出的文件夹;

./RunUAT.bat BuildPlugin -Plugin="D:\Dev\cesium-unreal-samples\Plugins\cesium-unreal\cesium-unreal\CesiumForUnreal.uplugin" -Package="D:\Dev\CesiumForUnreal" -CreateSubFolder -TargetPlatforms=Win64

预计几分钟后,编译通过

最后把生成的插件拷贝到工程目录的Plugins下(本工程生效);或者拷贝到UE安装目录下的插件目录即可生效。

参考资料

cesium-unreal官方文档

虚幻商城指南 - Unreal Engine

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1461258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java常用应用程序编程接口(API)——Objects类和包装类

前言: Object类和Objects类是完全不同的两个类,之前有说过Object类,这次说一下Objects类。打好基础,daydayup! Object类可以看这篇:java常用应用程序编程接口(API)——Object类概述及常用方法 O…

IIC通信驱动硬件编程 (1)

1、IIC协议基础 I2C( IIC )属于两线式串行总线,由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于一主多从即一个主设备(Master),多个从设备(Slave))的总线结构,总线上的每个设备都有一个特定的设备地…

MR(混合现实)系统的开发流程

MR(混合现实)系统是一种将虚拟信息与真实世界环境相结合的技术,通过头戴式显示器、智能手机等设备将虚拟对象叠加在用户的真实感知中。它可以让用户与虚拟对象进行互动,并在真实环境中观察虚拟对象的行为。MR(混合现实…

this的指向问题总结

this一般会出现在函数里面,但是一般情况下只有在函数被调用执行时,才能确定this指向哪个对象。一般情况下this是指调用函数的对象。 1.在全局作用域下或者普通函数中this的指向一般都是window对象 window.fn(),普通函…

​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

欢迎来CILMY23的博客喔,本期系列为​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】,图文讲解各种字符串函数,带大家更深刻理解C语言中各种字符串函数的应用&am…

35年的卓越成就:威步在网络安全和软件授权领域持续领先

1989-2023:威步成立35年里程碑。这35年中,公司始终致力于业务连续性、技术进步和团队凝聚力。 ​全球信任与在地优势:威步凭借其全球渠道合作伙伴网络,确保国际客户像信赖本地优质企业一样信赖他们。 传统与创新:威步…

Solidworks:焊件(型材)结构构件设计

焊件(型材)结构构件设计是Solidworks的一大特色。使用这一功能,能够体会到这款软件的架构设计在逐步递进增加软件功能方面做出的特别努力。 设计一个三角形框架 正面: 换个角度观察: 再来一个练习,包含…

顺序表详解(SeqList)

本文使用C语言进行顺序表的代码实现。 博主将使用代码和相关知识相结合的方式进行讲解,简单易懂,懵懂的大学生一听就会~ 顺序表是一种线性表的存储结构,它将数据元素存储在一段连续的存储空间中,每个元素占据一个存储单元&#x…

Spring Security 认证授权安全框架

Spring Security概述 1.什么是Spring Security? Spring Security是一个Java框架,用于保护应用程序的安全性。它提供了一套全面的安全解决方案,包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念,可以轻松地集成到任…

白盒测试接口测试自动化测试

一、白盒测试:一种测试策略,允许我们检查程序的内部结构,对程序的逻辑结构进行检查,从中获取测试数据。白盒测试的对象基本是源程序,所以它又称为结构测试或逻辑驱动测试,白盒测试方法一般分为静态测试和动…

Cesium 问题:加载 gltf 格式的模型之后太小,如何让相机视角拉近

文章目录 问题分析问题 刚加载的模型太小,如何拉近视角放大 分析 在这里有两种方式进行拉近视角, 一种是点击复位进行视角拉近一种是刚加载就直接拉近视角// 模型三加载 this.damModel = new Cesium.Entity({name: "gltf模型",position:</

leetcode hot100零钱兑换Ⅱ

本题可以看出也是背包问题&#xff0c;但区别于之前的01背包问题&#xff0c;这个是完全背包问题的变形形式。 下面介绍01背包和完全背包的区别与联系&#xff1a; 01背包是背包中的物品只能用一次&#xff0c;不可以重复使用&#xff0c;而完全背包则是可以重复使用。01/完全…

一命通关动态规划dp

前言 这篇文章详细概括了动态规划的所有题型&#xff0c;以及各个题型的解决公式方法。如果看完这篇动态规划还是不会做题&#xff0c;我来给你补&#xff0c;我爱说点实话。 动态规划 何为动态规划&#xff1f; 动态规划&#xff0c;有一点暴力求解的感觉。用最通俗的语言来…

利用nbsp设置空格

想要实现上面效果&#xff0c;一开始直接<el-col :span"8" >{{ item.name }} </el-col> 或者<el-col :span"8" >{{ item.name }}</el-col>或者<el-col :span"8" >{{ item.name }}</el-col> 都无…

【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环”(python 排班表系列)

背景需求&#xff1a; 又到了开学季&#xff0c;新的自主游戏&#xff08;户外游戏&#xff09;安排表出炉了。 这张是贴在美术活动室的安排表&#xff0c;我需要转换成班级为单位的安排表&#xff0c;便于批量制作周计划。 设计思路&#xff1a; 1、一个班级每周轮到的一个场…

网工内推 | 上市公司、外企网工,厂商认证优先,最高18K*13薪

01 北京电旗通讯技术股份有限公司 招聘岗位&#xff1a;网络运维工程师 职责描述&#xff1a; 1.负责内部核心网络的运行监控、故障处理。 2.对网络性能进行监控和调优。 3.负责网络设备的规划选型。 4.设计网络架构拓扑图,制定网络规范。 5.分析处理复杂网络故障。 6.负…

sizeof()的易错点

你也可以传入一个变量的名字&#xff08;而不只是类型&#xff09;给 sizeof()&#xff0c;但在一些情况下&#xff0c;可能得不到你要的结果&#xff0c;所以要小心使用。例如&#xff0c;看看下面的代码片段&#xff1a; 在第一行&#xff0c;我们为 10 个整数的数组声明了空…

【前端】前端三要素之JavsScript基础

写在前面&#xff1a;本文仅包含JavaScript内容&#xff0c;DOM知识传送门在这里&#xff0c;BOM传送门在这里。 本文内容是假期中刷的黑马Pink老师视频&#xff08;十分感谢Pink老师&#xff09;&#xff0c;原文保存在个人的GitLab中&#xff0c;如果需要写的网页内容信息等可…

笔记:torch.roll

最近在准备写 swin transformer 的文章&#xff0c;记录下 torch.roll 的用法&#xff1a; >>> x torch.tensor([1, 2, 3, 4, 5, 6, 7, 8]).view(4, 2) >>> x tensor([[1, 2],[3, 4],[5, 6],[7, 8]]) 第0维度向下移1位&#xff0c;多出的[7,8]补充到顶部 &g…

【Flink网络通讯(一)】Flink RPC框架的整体设计

文章目录 1. Akka基本概念与Actor模型2. Akka相关demo2.1. 创建Akka系统2.2. 根据path获取Actor并与之通讯 3. Flink RPC框架与Akka的关系4.运行时RPC整体架构设计5. RpcEndpoint的设计与实现 我们从整体的角度看一下Flink RPC通信框架的设计与实现&#xff0c;了解其底层Akka通…