UE笔记1:基础知识


本笔记参考 虚幻5.1官方文档 https://docs.unrealengine.com/5.1/zh-CN/unreal-engine-terminology/

一、虚幻引擎术语

项目 (uproject)

项目是一个包含所有关联资源、游戏级别、脚本、材质和配置文件的容器。一个项目可以是一个完整的游戏、演示、原型或其他实时应用。每个UE项目都有一个特定的目录结构,用于组织和存储所有相关文件。

项目结构通常包括以下文件夹:

Content(内容):这个文件夹包含了项目中所有的资源,如3D模型、纹理、蓝图、材质、关卡和声音文件等。通常,您需要将这些资源导入到Content Browser(内容浏览器)中,以便在项目中使用。

Config(配置):这个文件夹包含了项目的配置文件,用于存储各种设置,如输入映射、游戏规则、渲染选项等。这些文件通常以.ini格式存储。

Source(源码):这个文件夹包含了项目中的C++源代码文件,包括头文件(.h)和源文件(.cpp)。如果您使用蓝图进行开发,这个文件夹可能不会包含很多内容。然而,对于使用C++进行开发的项目,这个文件夹是非常重要的。

Binaries(二进制文件):这个文件夹包含了项目的可执行文件、动态链接库(DLL)和其他二进制文件。当您构建项目时,这些文件将被生成。

Build(构建):这个文件夹包含了项目构建过程中产生的临时文件,例如中间对象文件、日志文件等。通常,您不需要直接操作这些文件。

Saved(已保存):这个文件夹包含了项目的保存文件、备份文件、缓存文件以及自动保存的关卡。在项目开发过程中,这个文件夹会随着时间的推移而变大。

Plugins(插件):这个文件夹包含了为项目定制的插件,它们可以扩展Unreal Engine的功能。插件可以是官方的,也可以是第三方的,或者由您自己开发。

当您创建一个新的Unreal Engine项目时,引擎会根据所选的模板生成这些文件夹和基本内容。模板可以是基本的游戏类型(如第一人称射击、平台游戏等)、空白项目或您自定义的模板。从模板开始可以帮助您更快地启动项目,因为它们已经包含了基本的资源、脚本和设置。

在项目开发过程中,您可以使用Unreal Editor(虚幻编辑器)来编辑关卡、资源、蓝图、材质等。您还可以使用其他工具,如Visual Studio或Xcode,来编写和调试C++代码。一旦一旦项目开发完成,您可以使用Unreal Engine的打包和发布功能,将项目构建成可在目标平台(如Windows、macOS、Linux、Android、iOS、PlayStation、Xbox等)上运行的应用程序。在打包过程中,引擎会对项目资源进行优化、压缩和封装,以确保应用程序的性能和兼容性。

在开发过程中,您可能会需要以下工具和资源:

版本控制系统:如Git、Perforce或SVN,以跟踪项目文件的更改和协同工作。
3D建模和动画软件:如Blender、3ds Max或Maya,用于创建3D模型、动画和特效。
2D图像编辑软件:如Photoshop、GIMP或Krita,用于创建纹理、UI元素和概念美术。
音频编辑软件:如Audacity、Reaper或FL Studio,用于处理游戏音效和音乐。
项目管理工具:如Trello、Jira或Asana,用于组织任务、协同工作和跟踪进度。

蓝图(Blueprints)

在Unreal Engine(UE)中,Blueprints(蓝图)是一种可视化脚本系统,允许开发者通过节点和连接线创建逻辑,而无需编写代码。蓝图系统基于UE的事件驱动架构,可以让设计师和程序员轻松地创建游戏逻辑、交互和可自定义的功能。

蓝图有四种主要类型:

蓝图类(Blueprint Class):这是最常用的蓝图类型,用于创建游戏中的角色、物体和其他实体。蓝图类可以继承现有的C++类或其他蓝图类,然后添加或修改功能。

蓝图接口(Blueprint Interface):蓝图接口允许您为蓝图类定义一组预期的功能,不同的蓝图类可以实现这些功能来保证互操作性。接口可以让您在不同的蓝图类之间共享和重用代码。

蓝图宏库(Blueprint Macro Library):这是一个包含一组蓝图宏的库。宏是可以在多个蓝图中重复使用的预定义功能。蓝图宏库可以让您轻松地重用和共享常用的蓝图逻辑。

蓝图函数库(Blueprint Function Library):这是一个包含一组蓝图函数的库。这些函数可以在其他蓝图中调用,以便在不同的蓝图之间重用和共享代码。与蓝图宏库类似,它们的主要目的是提高代码重用性和便利性。

材质(Materials)

Materials(材质)是用于定义游戏对象表面外观的资源。它们决定了物体的颜色、纹理、反射率、透明度等视觉属性。材质通过在材质编辑器中创建和连接各种节点来定义,这些节点可以表示纹理、颜色、数学运算等。

材质编辑器中的主要节点是Material Node(材质节点),它包含了多个输出插槽,用于连接到其他节点。常见的输出插槽包括:

基本颜色(Base Color):定义物体表面的颜色或纹理。
金属度(Metallic):定义物体表面的金属特性,范围从0(非金属)到1(金属)。
规范(Specular):定义物体表面对光线的反射程度。
粗糙度(Roughness):定义物体表面的粗糙程度,范围从0(光滑)到1(粗糙)。
发射(Emissive):定义物体表面发出的光。
透明度(Opacity):定义物体表面的透明度,范围从0(完全透明)到1(完全不透明)。
透明度遮罩(Opacity Mask):定义物体表面的透明遮罩,通常用于创建透明效果,例如树叶、栅栏等。
法线(Normal):定义物体表面的凹凸纹理,用于创建细节丰富的表面效果。
这些输出插槽可以连接到其他节点,如纹理采样器、数学运算节点、颜色节点等,以创建复杂的材质效果。您可以在材质编辑器中调整节点参数以实时查看结果,然后将创建的材质应用到游戏对象上。

Unreal Engine的材质系统非常强大,允许开发者创建各种现实世界和虚构材质,包括金属、玻璃、布料、水、草地等。同时,通过使用蓝图和材质实例,开发者还可以创建动态和可自定义的材质效果,例如响应游戏事件的发光材质、可以在运行时改变颜色的材质等。

对象和类

在Unreal Engine(UE)中,对象(Objects)是构成游戏世界的基本元素。通俗地说,对象就是游戏世界里的一切事物,包括角色、道具、建筑、光源、音效等。在UE中,对象是通过类(Class)来定义的。类是一个包含属性(如颜色、大小、形状等)和行为(如移动、旋转、发光等)的蓝图,用于描述对象的特性和功能。

Unreal Engine使用一个称为对象层次(Object Hierarchy)的类继承系统来组织和管理对象。这个层次结构由许多不同的类组成,每个类都继承自一个更高级的基类。基类可以被看作是更具体类的模板,它们定义了一组共享的属性和行为。具体类则添加或覆盖这些属性和行为,以创建更特定的对象类型。

UE中最基本的对象类是UObject类。它是所有其他类的基础,包含了一些基本的属性和行为,如名称、标签和垃圾回收。从UObject类派生出的一个重要类是AActor类。AActor类表示游戏世界中的所有可交互对象,如角色、道具、光源等。AActor类具有位置、旋转、缩放等变换属性,以及与游戏世界中其他对象进行交互的能力。

从AActor类派生出的一些常见类包括:

APawn:表示游戏中可控制的角色,如玩家角色或AI角色。APawn类具有输入处理和控制器交互的功能。
ACharacter:表示游戏中的人物角色,从APawn类继承而来。ACharacter类添加了移动、跳跃等基本行为,以及对动画和物理模拟的支持。
APlayerController:表示游戏中玩家的控制器,负责处理输入和控制角色。
AAIController:表示游戏中AI角色的控制器,负责处理AI逻辑和控制角色。
AStaticMeshActor:表示游戏世界中的静态几何体,如建筑、地形等。AStaticMeshActor类使用静态网格(Static Mesh)作为渲染和碰撞检测的基础,通常不涉及动画或运动。

ASkeletalMeshActor:表示游戏世界中的可动态改变的几何体,如角色、动画道具等。ASkeletalMeshActor类使用骨骼网格(Skeletal Mesh)作为渲染和碰撞检测的基础,并支持骨骼动画和物理模拟。

ALight:表示游戏世界中的光源,负责照亮场景。ALight类包括多种光源类型,如点光源、聚光源、平行光源等,每种类型都具有各自的属性和行为。

ACameraActor:表示游戏世界中的摄像机,负责捕捉场景视图。ACameraActor类支持多种投影模

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值