UE4之基础介绍

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 目录。

Content文件夹存储所有导入资源以及项目合并内容,

存储文件类型:.uasset  资源   .umap 地图

   可被导入资源类型:

3D模型 .fbx .obj
纹理/图像 .bmp .jepg .pcx .png .psd .tga .hdr
字体 .otf .ttf
音频 .wav
视频 .wmv
PhysX .apb .apx
其他 .csv

源文件Source目录,包括 C++ 源文件(.cpp)和头文件(.h),以及一些编译用的脚本(.Build.cs,.Target.cs)。不过,如果项目只包含蓝图,则项目中没有 Source 目录

 Saved文件夹:

 2. 场景

在unity里是Scene,在UE4里是Map file。

3. 设置

Project Settings一致,unity里的玩家设置在UE4里叫平台设置。

4. 预制体/蓝图

unity里的预制体,在UE4里是创建一个带有组件的 Actor,然后选中它并点击 蓝图 / 添加脚本(Blueprint / Add Script) 按钮(位于 细节 面板中)。

5. 生命周期函数

unity里的Start  Update  Destory,在UE4里对应如图:

在UE4中,组件也有生命周期函数:

 

6. Gameplay

虚幻在顶层提供了叫做 Gameplay 框架 的机制。是一个C++/蓝图类集合,用于管理游戏规则、用户输入、摄像机、HUD。

6.1 GameMode类

用途:设置游戏规则、存储其他定义核心功能的类

项目里可以有多个GameMode,但默认游戏模式只有一个,它是每个关卡中使用的GameMode,除非在关卡编辑器 -> 世界设置 -> Game Mode Override 覆盖。

 

 

 GameMode的子类:

  • DefaultPawn
  • HUD
  • PlayerController
  • Spectator
  • ReplaySpectator
  • PlayerState
  • GameState

6.2 Controller类

用途:一个Controller类控制一个pawn。

  • PlayerController:管理玩家输入来控制Pawn。也可以设置光标显示、鼠标单击响应时间。
  • AIController

6.3 Pawn

定义:指玩家的化身。

6.4 Character

6.5 HUD类 (Head Up Display平视显示)

用途:绘制2D界面内容

工具:UMG (Unreal Motion Graphics) 

 

C++ 中有些类以 "A" 开头,而其他一些类以 "U" 开头。前缀 "A" 代表它是 Actor 的子类,而前缀 "U" 代表它是 Object 的子类。还有其他一些前缀,比如 "F" 通常表示一个简单的数据结构类,或者其他非 Uboject 类。

7. 单位距离

Unity的单位距离是1米,UE4是1厘米。

8. 坐标系

都是左手坐标系,但在虚幻 4 中,X 的正方向是"前",Y 的正方向是"右",Z 的正方向是"上"。

posted @ 2022-03-02 17:54  番茄玛丽  阅读(971)  评论(0编辑  收藏  举报