4、Unreal Engine入门:基础操作与C++项目创建

Unreal Engine入门:基础操作与C++项目创建

1. 虚幻引擎基础操作

1.1 几何编辑模式

在虚幻引擎中,BSP(Brush Subtraction and Addition)画笔是游戏内几何图形的基础构建元素,非常实用。但初始提供的BSP画笔是特定形状的,如果需要不同形状的BSP画笔,可以进入几何编辑模式手动编辑。若要查找特定的Actor,可在顶部搜索栏输入其名称,引擎会显示名称匹配的Actor。

1.2 世界大纲视图

世界大纲视图以分层样式展示当前关卡中的所有Actor,通过场景大纲视图窗口可以选择和更改Actor,这是跟踪场景中存在哪些Actor的好方法。在创建较大关卡时,开发者可能会忘记移除不再需要的角色,导致这些Actor在游戏运行时占用不必要的内存,而使用世界大纲视图可以避免这种情况。

世界大纲视图支持以下操作:
- 创建文件夹 :可以创建文件夹并将Actor放入其中,例如创建一个名为“Lighting”的文件夹,将场景中所有的灯光Actor放入,这样便于管理和让场景看起来更整洁有序。若要移动一组Actor而不打乱它们的相对位置,可将房间内的所有资产分组到一个容器中,移动时只需点击文件夹,选择“AllDescendants”即可选中所有对象。
- 隐藏功能 :每个Actor或文件夹左侧有一个眼睛形状的符号,点击它可以隐藏关联的Actor;若是文件夹,则隐藏其中的所有Actor。
- 附加Actor :可以将两个或多个Actor附加在一起,这是一种相对快速的移动一组Ac

相关推荐

Unreal Engine 4 道具捡拾教程 C++ 实现

Unreal Engine 4  道具捡拾教程 C++ 实现     物品捡拾是游戏比较常用的功能,这个教程讲解实现简单的物品捡拾的过程。   1、  首先新建C++工程,输入好工程名称,注意选择C++页签     2. 先配置一下输入控制。选择Edit->ProjectSettings…   选择左侧Engine下的Input 配置键盘鼠标操作键 右侧显示

caldera的专栏 3773

Unreal Engine 创建动态的立方体

本文主要讲述如何利用 Unreal Engine 来创建一个动态的立方体。

weixin_46269822的博客 2044

UE4教程:虚幻4引擎(Unreal Engine 4)学习指南

UE4 是 Unreal Engine 4 的缩写,中文译为“虚幻引擎4”。UE4 是一款代码开源、商业收费、学习免费的游戏引擎,支持 PC、手机、掌机等各种平台,能够充分发挥硬件的性能。 UE4 虽然也有自己的脚本语言,但是性能堪忧,所以在大型游戏开发中人们一般使用 C++。这套 UE4 教程针对有 C++ 基础的读者,将教给大家如何使用虚幻4引擎进行游戏开发。 优质资源推荐: 虚拟4引擎官网 UE4贴吧 UE4是什么?虚幻4引擎是什么? UE4 的全名是 Unreal Engine 4,中文译为“虚幻引

技术宅拯救世界 1万+

Unreal Engine 4 C++ 为编辑器中Actor创建自定义图标

有时候我们创建场景的时候,特定的Actor我们想给它一个特定的图标,便于观察。比如这样: 实现起来也很简单,需要编写C++代码: 我们创建一个Actor,叫AMyActor,它包含一个Sprite(精灵),这个精灵负责显示自定义图标:代码如下 #pragma once #include "GameFramework/Actor.h" #include "Components/Bil

shangguanwaner的专栏 3300

Unreal5从入门到精通之如何使用C++编程来自定义蓝图

首次接触Unreal5的同学,刚开始一般都是先了解的蓝图,但是真正的游戏开发,我们是必须要学习C++编程的。今天我们来学习一下如何使用C++来进行开发,使用C++来做一个简单的小功能。注意,我门不是C++的教程,只是通过一个简单的Demo来告诉你如何在Unreal5中使用C++来自定义 蓝图类。

TxNet 2636

Unreal Engine开发:Unreal Engine基础入门all

在上一节中,我们已经介绍了如何安装Unreal Engine并设置开发环境。现在,我们将学习如何创建第一个Unreal Engine项目。这将是我们在Unreal Engine中进行开发的第一步,也是最基础的一步。通过这一节的学习,你将能够创建一个基本的游戏项目,并了解其核心结构。

chenlz2007的博客 1101

Unreal Engine开发:Unreal Engine基础入门_项目管理与文件结构

通过以上步骤和最佳实践,可以有效地管理和维护Unreal Engine项目,确保开发过程顺利进行。希望这些内容对你的项目开发有所帮助!文档记录:编写详细的文档记录项目的关键设计和实现细节,方便团队成员理解和维护。团队协作:使用协作工具(如Jira、Trello)来管理团队任务和进度。持续集成:设置持续集成(CI)系统,自动编译和测试项目,确保代码质量。通过这些方法,你可以确保项目在开发过程中始终保持高效、可维护和高质量。希望你在Unreal Engine的项目开发中取得成功!

chenlz2007的博客 1309

Unreal Engine开发:Unreal Engine基础入门_C++编程基础v1

C++是一种静态类型的、编译式的、通用的、中级到高级的编程语言,它支持多种编程范式,包括面向对象编程、泛型编程和过程化编程。C++由C语言发展而来,保留了C语言的高效性和灵活性,同时增加了类、对象、模板等现代编程语言的特性。函数定义包含了函数的实际代码。函数定义通常放在源文件中。// 函数定义类的定义使用class关键字。类中可以包含数据成员和成员函数。public:// 构造函数// 成员函数private:// 数据成员int health;int a = 10;

chenlz2007的博客 1159

Unreal Engine开发:Unreal Engine基础入门_案例实践与项目开发

在这个案例中,我们将创建一个简单的2D横版动作游戏。玩家将控制一个角色,通过跳跃和攻击来击败敌人并完成关卡。我们将使用Unreal Engine的蓝图系统来实现游戏逻辑,并通过C++来优化一些关键部分。通过这个简单的2D横版动作游戏案例,我们学习了如何在Unreal Engine中创建基本的游戏元素,设置游戏逻辑,优化性能,以及创建和绑定UI。希望这个案例能够帮助你更好地理解和应用Unreal Engine的基础知识。在这一节中,我们将创建一个3D动作游戏。

chenlz2007的博客 1322

初识Unreal Engine:构建你的首个3D项目

本文还有配套的精品资源,点击获取 简介:Unreal Engine是广泛应用于游戏开发、影视特效等领域的实时3D创作工具。本教程《初探Unreal Engine:构建你的第一个项目》面向初学者,详细介绍如何快速上手Unreal Engine并创建第一个项目。教程涵盖了Unreal Engine的基础架构,包括C++基础、蓝prints图形编程系统,以及如何安装、启动引擎,创...

weixin_30415591的博客 3376

Unreal Engine 4 C++中JSON读取的完整示例

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于键值对,可用来传输数据,支持数组、对象等多种数据结构。在UE4 C++中处理JSON数据,不仅可以优化游戏数据管理,还能增加游戏的可扩展性。在Unreal Engine 4中,使用C++处理JSON数据需要引入特定的头文件。这些头文件提供了用于创建、解析和序列化JSON数据的类和方法。最核心的两个类是和。

weixin_42592399的博客 1371

Python地理空间数据库之geopandas使用详解

地理空间数据分析在许多领域中都有着广泛的应用,包括地理信息系统(GIS)、城市规划、环境科学、地质勘探等。Python GeoPandas是一个强大的库,旨在简化地理空间数据的处理和分析。本文将深入介绍GeoPandas库,包括其基本概念、功能特性、示例代码以及在实际应用中的应用场景。

Rocky006的博客 1万+

SAP SD实战:用BADI_SLS_HEAD_SCR_CUS给销售订单VA01/VA02加自定义字段(附完整函数组代码)

本文详细解析了在SAP SD模块中如何利用BADI_SLS_HEAD_SCR_CUS实现销售订单(VA01/VA02)的屏幕增强,包括数据结构设计、函数组创建和BADI接口实现。通过实战案例和完整代码,帮助开发者掌握在SAPMV45A标准流程中添加自定义字段的关键技术,提升业务定制化能力。

weixin_27015733的博客 368

在Ubuntu 22.04 LTS上搞定Intel Quartus Prime 22.1和QuestaSim:一份保姆级的安装与License配置指南

本文提供在Ubuntu 22.04 LTS上安装和配置Intel Quartus Prime 22.1与QuestaSim的详细指南。涵盖依赖安装、环境变量设置、License配置及常见问题解决,帮助FPGA开发者快速搭建稳定的开发环境。特别针对Ubuntu系统优化,确保工具链高效运行。

weixin_29208077的博客 318

别再只调颜色阈值了!优化K210色块追踪性能的5个关键参数与实战技巧

本文深入探讨了K210色块追踪性能优化的五大核心策略,包括图像预处理参数精细调控、find_blobs参数进阶配置、运动控制算法升级、硬件时序优化以及可视化调试系统构建。通过实战技巧和参数调整方法,帮助开发者提升K210在色块追踪项目中的识别稳定性和响应速度,适用于云台追踪等应用场景。

weixin_42531588的博客 225

Keil AC6编译器独立安装与配置指南:不升级Keil MDK也能用上新工具链

本文详细介绍了如何在不升级Keil MDK的情况下独立安装和配置Arm Compiler 6(AC6),帮助嵌入式开发者充分利用AC6的编译速度、代码密度和现代语言支持优势。通过零侵入式解决方案,开发者可以在现有环境中灵活切换编译器版本,提升开发效率。

weixin_30872157的博客 552

为什么 ChatGPT 生成的下载地址会长成 sky-metal-cards-jerry.quirkypony34.chatgpt.site 这种奇怪的样子

我今天看到的这条地址,确实很容易让人产生一种感觉,ChatGPT 明明只是生成了几张 PNG 图片和一个压缩包,为什么最终拿到的却不是类似这种看起来很正规的下载链接,而是一长串带有、UUID、apidecks的地址。更容易让人疑惑的是,其中还出现了一个平时很少见到的域名。这并不是浏览器随机生成的临时 URL,也不是某个来历不明的第三方文件服务器。根据 OpenAI 在 2026 年公布的 ChatGPT Sites 文档和相关服务条款,

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 58

EEMD算法原理及应用

本博客主要概括EEMD算法的背景、原理以及应用,利用EEEMD对信号进行分解,然后选择有用的IMF分量进行叠加以完成信号的重构,从而实现对信号降噪。本文配套的源代码见文中链接,可供大家免费下载。

总结论文中的算法并给出论文的复现代码 4万+

Visual Studio调试技巧与实用方法总结(实战经验分享)

本文根据多年的项目实战经验,详细介绍一些Visual Studio常用的高效调试手段与技巧。

dvlinker的技术专栏 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 60、应用与硬件问题排查指南
下一篇: 4、预测分析与机构数据分析框架:教育领域的新视角
lambda
博客等级 码龄23年 49粉丝 1303原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值