1. 本体:每个项目都有一个与之对应的 .uproject
文件。.uproject
文件是你创建、打开或保存项目必须用到的文件。
2. 基本元素 Actor:Actor是虚幻引擎中使用的一个编程类,用于定义一个具有三维位置、旋转度及缩放比例数据的对象。无论该对象是一个光源、网格物体还是一个角色。类似Unity的GameObject。
GameObject 属于 C# 类,并且无法直接扩展。在虚幻 4 中,Actor 属于 C++ 类,而且允许你通过继承来拓展和自定义。
Actor的父类是Object,拥有一些基本功能,比如 反射 和 序列化。当我们需要定义一个新的类但又并非 Actor 的时候会使用它。
Actor的子类:
-
Pawn - Actor 的一种类型,用于表现一个可供控制的游戏对象,比如玩家操控的角色。玩家或者 AI 通常通过 Controller 来控制并移动 Pawn。
-
Character - 一种特殊类型的 Pawn,用于双足类型的角色,并具备一些复杂的功能。
-
Controller - 占有并控制一个 Pawn。通过将 Pawn 和 Controller 的分离,我们可以编写 AI Controller,用于控制 Pawn,并且和玩家控制 Pawn 采用相同的接口。
-
Player Controller - 一个更为特殊的 Controller,用于从玩家的手柄、触控板、鼠标/键盘获得输入信息,并将这些信息驱动玩家所控制的 Pawn 或者 Character 的行为。
3. 蓝图(Blueprint):蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。
4. 测试:通过"在编辑器中运行"(PIE)这一模式在编辑器中直接获取实时反馈, 甚至还能通过"在编辑器中模拟"(Simulate In Editor)这一模式在运行时检查并操控游戏对象。
5. 热更新(Hot Reload)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------为Unity用户准备的虚幻4指南-----------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 项目和文件
最重要的就是 Content 子目录和 Source 子目录。每个项目都有一个 Content 文件夹。它类似于 Unity 项目的 Asset 目录。
源文件在Source目录,包括 C++ 源文件(.cpp)和头文件(.h),以及一些编译用的脚本(.Build.cs,.Target.cs)。不过,如果项目只包含蓝图,则项目中没有 Source 目录。
2. 支持的文件格式
3D | fbx/obj |
贴图 | png/jepg/bmp/tga/dds/exr/psd/hdr |
声音 | wav |
字体 | ttf/otf |
视频 | mov/mp4/wmv |
3. 场景
在unity里是Scene,在UE4里是Map file。
4. 设置
Project Settings一致,unity里的玩家设置在UE4里叫平台设置。
5. 预制体/蓝图
unity里的预制体,在UE4里是创建一个带有组件的 Actor,然后选中它并点击 蓝图 / 添加脚本(Blueprint / Add Script) 按钮(位于 细节 面板中)。
6. 生命周期函数
unity里的Start Update Destory,在UE4里对应如图:
在UE4中,组件也有生命周期函数:
7. Gameplay
虚幻在顶层提供了叫做 Gameplay 框架 的机制。
在 Unity C# 中可能是调用 base.Update(),但在虚幻 4 的 C++ 中我们使用 Super::TickComponent() 。
C++ 中有些类以 "A" 开头,而其他一些类以 "U" 开头。前缀 "A" 代表它是 Actor 的子类,而前缀 "U" 代表它是 Object 的子类。还有其他一些前缀,比如 "F" 通常表示一个简单的数据结构类,或者其他非 Uboject 类。
8. 单位距离
Unity的单位距离是1米,UE4是1厘米。
9. 坐标系
都是左手坐标系,但在虚幻 4 中,X 的正方向是"前",Y 的正方向是"右",Z 的正方向是"上"。