UE4 中文文档阅读

UE4学习流程

初学者系列教程内容:

  1. 蓝图编程
  2. 图形和渲染(材质灯光后期)
  3. 过场动画
  4. 骨骼动画
  5. UMG用户界面
  6. AI行为树
  7. 关卡流
  8. 地形编辑器
  9. 基本操作
  10. 物理模拟
  11. 音频系统
  12. 游戏打包和优化

一、关卡快速入门

1. 创建新项目

2. 导航视口

位移操作:(注:与鼠标右键一起操作更加方便)

  • W
  • S
  • A
  • D

旋转、缩放、拉伸操作:(注:要选中要操作的物体才行)

  • W    可以任意移动
  • E     可以任意旋转
  • R     可以任意拉伸

3. 创建一个新的关卡

方式一:这种方式更加注重于蓝图

UE4 中文文档阅读_第1张图片

方式二:这种才是正确创建一个空白关卡的正确方式

UE4 中文文档阅读_第2张图片

UE4 中文文档阅读_第3张图片

4. 放置actor   

actor:Actor 是可以放置在关卡中的任意对象。Actor 是支持三维变换的通用类,比如如平移,旋转和缩放变换。 Actor 可以通过游戏代码(C++或蓝图)来创建(Spawn)及销毁。在 C++ 中,AActor 是所有 Actor 的基类。

分类:

1) 静态网络网格    StaticMeshActor

它是一种基本类型的可渲染的几何体。从Content中将staticmesh拖到关卡中,该网络物体会自动转换为StaticMeshActors

如果想要让物体在游戏过程中移动或缩放StaticMeshActor,需要以下设置

UE4 中文文档阅读_第4张图片

物体的碰撞   collision   碰撞属性

5. 运行

二、门制作:Example

example_1:简单门与人物的碰撞教程

第一步:创建新模板

第二步:添加ThirdPersonCharacter以及SmartContent    打开map

第三步:点击SmartContent中SM_Door,设置SimpleCollision

UE4 中文文档阅读_第5张图片

第四步:将door添加到map中

第五步:则人物与门就会发生碰撞

example_2:设置门的actor(包括门框和门),并设置门的相应器(Box Trigger),这样可以设置门的开关

第一步:添加ThirdPersonCharacter和SmartContent(初学者组件)

第二步:使用actor创建完整的门   将门放入到地图中

    Blueprint-->Actor

所需要的组件(并注意组件的包含关系)

UE4 中文文档阅读_第6张图片

效果图

UE4 中文文档阅读_第7张图片

第三步:编写蓝图(Blueprint)

在创建的Door(Actor)中的Event Graph中编写

Box Trigger(盒子触发器)

  • On Actor Begin Overlap:进入盒子触发器事件
  • On Actor End Overlap:离开盒子触发器事件

Add Time Line:添加事件线

UE4 中文文档阅读_第8张图片

Rotation  Location  Scale其参考系不同所产生的效果也就不同

参考系:Actor  World  Relative    

此处使用的是setRelativeRotation,因为改变的是门相对于门框的位移(门和门框以及触发器共同构成一个Actor)

UE4 中文文档阅读_第9张图片

第四步:最终效果蓝图

UE4 中文文档阅读_第10张图片

example_3   按键控制门的开关

第一步:按键控制,那么需要Box Trigger之前,获得玩家控制,这样才能获得玩家的输入

进入触发器,玩家按键才会起作用,否则,玩家按键失去效果

UE4 中文文档阅读_第11张图片

知识点:按键事件(Input+想要设置的键)

使用按键事件,则会有两种选择,按一下--门开,再按一下--门关,有两种方式可以选择

方式一:这种直接判断

UE4 中文文档阅读_第12张图片

UE4 中文文档阅读_第13张图片

方式二:Branch   这种需要添加判断条件

首先创建变量   这个变量的默认值是true,因此在下面的图中这个变量作为Branch的判断条件

UE4 中文文档阅读_第14张图片

UE4 中文文档阅读_第15张图片

另外:下图是只有第三人称玩家才能开门操作,与重叠事件一起调用

UE4 中文文档阅读_第16张图片

通常情况下,按键操作是不写在Door里的,而是写在ThirdPersonExampleMap的blueprint里

example_4:鼠标点击事件控制门的开关   g+鼠标右键

UE4 中文文档阅读_第17张图片  专门为门开关制作的事件

首先鼠标可见事件,有两种方式:

方式一:在ThirdPersonExampleMap的Blueprint中一开始就设置鼠标可见

方式二:在worldsetting中的GameMode中的PlayerController Class新建一个类

UE4 中文文档阅读_第18张图片

改名为MouseController

UE4 中文文档阅读_第19张图片

door_open中的蓝图

UE4 中文文档阅读_第20张图片

注:想要看运行过程中蓝图的流程  选中创建的Actor

UE4 中文文档阅读_第21张图片

三、控制权镜头的切换

控制权切换所需要的知识点

1. 获得玩家的控制权

2. 让传入inpawn的角色获得控制权,我们就可以操控传入的Inpawn的角色,原来的角色就失去控制权

UE4 中文文档阅读_第22张图片

扩充知识点Pawn:Actor类与Pawn类

Actor:在UE4中,Actor类是可以放到游戏场景中的游戏对象的基本类型。你如果想放置任何东西到游戏场景中,必须继承Actor类。

Pawn:Pawn类是一个代表你或者代表电脑的人工智能的游戏对象,它是可以在屏幕上控制的游戏对象。Pawn类是从Actor类中基础的,它可以通过玩家的设备(键盘、鼠标等)控制或者被人工智能脚本控制。如果它是被玩家控制的,我们通常称之为controller(控制器);如果它是被人工智能脚本控制的,我们通常称之为AI(Artificial Intelligence,人工智能),如果你经常玩游戏,那些NPC(Non-player Characters,非玩家角色)就通常具有AI行为。

3. 混合镜头:为了使角色在转换的时候的动作不那么生硬,需要使用set view target with blend事件

可以设置时间

UE4 中文文档阅读_第23张图片

用法如下:通常与decay事件(快捷键:d+鼠标右键)一起使用,起到更好的延迟效果

  • 传入的Target:当前控制的对象
  • new view target:要切换到哪个对象
  • blend time:切换的混合时间

步骤:

第一步:控制权的切换至少需要两个物体

加载ThirdPersonCharacter和Vehicle模板

UE4 中文文档阅读_第24张图片

并且首先使得小白人为第一控制权   进行如下设置

UE4 中文文档阅读_第25张图片

第二步:编写蓝图

UE4 中文文档阅读_第26张图片

第三步:play

优化:如果使得一个对象在操作的过程中切换,该对象仍然在运动

对于当前example中小白人的运动问题,当切换控制权时,使用set movement事件

UE4 中文文档阅读_第27张图片

对于当前example汽车的运动问题,设置为刹车(handbreak) ,记得打勾,会经行刹车操作

这个存在刹车后由于惯性的存在,仍然会使车向前移动一点距离

UE4 中文文档阅读_第28张图片

如果想要切换镜头后直接静止,需要使用如下:

UE4 中文文档阅读_第29张图片

优化后的蓝图

UE4 中文文档阅读_第30张图片

四、蓝图通信

类型转换

知识点:

1. 自定义事件 Custom Event

UE4 中文文档阅读_第31张图片

2. 类型转换,例如想要和小白人经行通信,就需要转换小白人类型,就获得了小白人里面的所有东西

UE4 中文文档阅读_第32张图片

3. 简单的判断事件

example_1 区域加速

第一步:建立区域加速区域(即盒子触发事件)

UE4 中文文档阅读_第33张图片

第二步:建立小白人的基本通信

UE4 中文文档阅读_第34张图片

第三步:isValid事件使用

每一帧都要响应,对应于Box trigger响应区域

UE4 中文文档阅读_第35张图片

第四步:自定义事件,当小白人触发盒子,产生加速效果(因为加速事件是小白人的,因此需要在小白人blueprint中写)

UE4 中文文档阅读_第36张图片

UE4 中文文档阅读_第37张图片

UE4 中文文档阅读_第38张图片

example_2:按键实现物体旋转(一对一)

每一帧都旋转,因此

UE4 中文文档阅读_第39张图片

在小白人蓝图里设置按键事件

UE4 中文文档阅读_第40张图片

rotation一定要打开,才能进行绑定

UE4 中文文档阅读_第41张图片

在map中进行简单的通信绑定

UE4 中文文档阅读_第42张图片 UE4 中文文档阅读_第43张图片

example_2:控制多个物体同时旋转

自定义事件不变

UE4 中文文档阅读_第44张图片

知识点:

1. 获得该类的所有的物体

五、蓝图接口

函数与事件的区别:

  • 函数只能充当传入值和传出值的作用
  • 事件可以被触发

example_1:使用蓝图接口来实现开关门

第一步:创建my_door的actor

第二步:创建door_interface接口,并在里面创建can open the door函数

接口里方法,即可以当作事件来使用,也可以当作函数来使用

第三步:在my_door里面添加door_interface接口,并编写开门操作

UE4 中文文档阅读_第45张图片

UE4 中文文档阅读_第46张图片

第四步:在小白人的蓝图中创建变量door,并绑定

如果door里面有值,就相应door_interface接口的can open the door事件

UE4 中文文档阅读_第47张图片

第五步:重叠操作,在my_door里写重叠响应事件

重叠时,将my_door里的door传入到ThirdPersonCharacter中,那么里面的变量door就有效

不重叠时,就不穿door值,就无效,则按键就不起作用了

UE4 中文文档阅读_第48张图片

六、简单的昼夜交替现象

昼夜交替涉及到的知识

UE4中实现昼夜交替,需要改变的值有

  • directional light     平行光
  • sky light                天空光
  • BS sky sphere      天空球

example_1:简单的昼夜交替   昼夜的变化与天空球有直接关系

第一步:创建day_night的actor,并创建三个变量,其对应的属性如上所示

第二步:event trick和自转事件

UE4 中文文档阅读_第49张图片

UE4 中文文档阅读_第50张图片

UE4 中文文档阅读_第51张图片

第三步:在ThirdPersonExampleMap中要获得第一步创建的三个变量

首先这三个变量一定要打开(即眼睛)

UE4 中文文档阅读_第52张图片

UE4 中文文档阅读_第53张图片

UE4 中文文档阅读_第54张图片

效果优化:

星星:

UE4 中文文档阅读_第55张图片

一定要使的天空可动

点击太阳

UE4 中文文档阅读_第56张图片

优化:通过改变值来达到昼夜交替的效果

光的默认设置在模板里(我们将平型关的默认值改为5)

UE4 中文文档阅读_第57张图片

晚上(night):

平行光值的变换

UE4 中文文档阅读_第58张图片

天空光的值的变换

UE4 中文文档阅读_第59张图片

sky sphere云密度的变换

UE4 中文文档阅读_第60张图片

白天(day):

和黑夜一样,需要注意值

Event Graph中的事件

UE4 中文文档阅读_第61张图片

再此优化:这样重复的操作十分不适合蓝图的编写   将黑夜和白天组合在一起

创键day_night函数   把需要设置的值都传出去

UE4 中文文档阅读_第62张图片

七、简单的UI设计

游戏中的UI十分重要

UI所涉及到的知识点:

1. 游戏一开始事件:begainplay

2. widget:器皿,装组件  通常显示界面需要线创建一个器皿来容纳组件

一定要绑定创建的界面

UE4 中文文档阅读_第63张图片

3. 将界面显示在游戏界面上 addToViewport
UE4 中文文档阅读_第64张图片

example_1:创建用户界面  有游戏开始、游戏结束,并显示图片

第一步:用户界面操作 

首先创建UI_Main界面 

UE4 中文文档阅读_第65张图片

素材资源直接导入到content中

UE4 中文文档阅读_第66张图片

点击UI_Main,设置界面框,并导入图片

通过screen size调整界面大小

UE4 中文文档阅读_第67张图片

图片直接拖进去,并调整图片(注:这是界面组件的通用调整用法)

anchors设置在最中心,这样能够使得界面随屏幕的大小而变化

UE4 中文文档阅读_第68张图片

使用Button、text用法,并重新命名,写事件

UE4 中文文档阅读_第69张图片

UE4 中文文档阅读_第70张图片

第二步:事件的编写  点击buttion下的on click事件

UE4 中文文档阅读_第71张图片

地图蓝图事件的编写

UE4 中文文档阅读_第72张图片

第三步:扩展   显示的界面是地图的一部分,那就需要首先后的视野

创建一个pawn(而不是actor),并添加camera组件,拖入到地图中,并设置它是最开始的控制权

鼠标显示事件

UE4 中文文档阅读_第73张图片

获得新建立摄像机的视野(在pawn里--下面左边的图片,而不是在input里--如下面的右边图片)

     

为了使背景图片不挡住地图,设置图片的透明度

UE4 中文文档阅读_第74张图片

playerController、player、character之间的关系

  • Pawn是马甲,Controller是驱动马甲的大脑
  • Controller通过possess/unposses来获得/释放对Pawn的控制权。 Controller和Pawn相对独立,不一定谁必须有谁
  • Controller有两种:AIController和PlayerController。 前者是人工智能的控制,后者是用户输入控制
  • Controller和Possession的关系是1:1。所以一个Controller至多能控制一个Pawn,一个Pawn至多能被一个Controller控制
  • Character是Pawn的一种

第四步:实现镜头的转换,从my_camera到character的视野中

UE4 中文文档阅读_第75张图片

example_2:暂停UI以及UI动画

第一步:暂停UI

UE4 中文文档阅读_第76张图片

第二步:各事件

UE4 中文文档阅读_第77张图片

UE4 中文文档阅读_第78张图片

第三步:UI动画

当继续游戏时,UI以缩放的形式消失

1. 新建一个画布,将按钮都放进这个画布中

UE4 中文文档阅读_第79张图片

UE4 中文文档阅读_第80张图片

UE4 中文文档阅读_第81张图片

但是本次例子开头有主界面,因此将主界面和暂停界面都卸载beginplay上,且暂停界面设置为不可见,主界面显示一次就不需要了。

UE4 中文文档阅读_第82张图片

UE4 中文文档阅读_第83张图片

UE4 中文文档阅读_第84张图片

example_3:局域网联机设置

第一步:创建三个界面

main_menue

在主界面里设置模糊--这里不使用主界面

UE4 中文文档阅读_第85张图片                   

UE4 中文文档阅读_第86张图片

UE4 中文文档阅读_第87张图片

UE4 中文文档阅读_第88张图片

find_server

UE4 中文文档阅读_第89张图片

join_server

UE4 中文文档阅读_第90张图片

UE4 中文文档阅读_第91张图片

上面太大,会无法添加到服务器,因此要将屏幕和设计的Horizontal box的大小,设置所期望的大小

UE4 中文文档阅读_第92张图片            

当服务器的名字过长,可以截取到与text的长度一样长

即截取到边框的长度

将服务器的名字进行绑定

UE4 中文文档阅读_第93张图片

第二步:事件的编写

首先main_menue

1. 创建游戏

UE4 中文文档阅读_第94张图片

一定要注意project_setting中的设置问题  全部为主地图

UE4 中文文档阅读_第95张图片

2. 搜索服务器

UE4 中文文档阅读_第96张图片

3. 退出游戏

UE4 中文文档阅读_第97张图片

其次是Find_Server

1. 刷新
思路流程:当创建完游戏后,在另一个窗口搜索服务器,服务器的名字出现在服务器窗口。可见服务器窗口这个组件很重要,当服务器窗口中存在服务器的时候,就需要让刷新组件消失,因此需要绑定服务器窗口,并设为变量。

这种绑定操作可以起到实时刷新的作用

UE4 中文文档阅读_第98张图片

并且在点击完搜索服务器,刷新组件运动一会,就出现服务器,这个服务器就出现在服务器的窗口里

将搜索服务器为自定义事件

设置为自定义事件的原因:

  • 在主界面点击搜索服务器按钮,就要执行刷新服务器(相当于搜索服务器)
  • 而Find_Server执行刷新时,也要执行刷新服务器操作
  • 为了简化蓝图操作

UE4 中文文档阅读_第99张图片

UE4 中文文档阅读_第100张图片

UE4 中文文档阅读_第101张图片

2. 返回

UE4 中文文档阅读_第102张图片

最后Join_Server

UE4 中文文档阅读_第103张图片

总结:效果大概达到了,但是出现两个问题:

  • 只能一个创建地图
  • 地图中只有一个玩家,另一个控制的摄像机

在观看另一个骨骼动画重定向视频时解上面出现的问题

UE4 中文文档阅读_第104张图片

example_3:开场动画

第一步:导入素材

1. 图片素材直接导入

2.视频素材导入基本步骤

1) 创建Media Player

UE4 中文文档阅读_第105张图片

勾选生成动画的封面贴图,很有用

UE4 中文文档阅读_第106张图片

UE4 中文文档阅读_第107张图片

2) 导入视频素材

3)点击播放Media Player,进行绑定导入的贴图

第二步:UI的设计

video_pic是创建media_player时生成的贴图

bg是背景图片

第三步:编写蓝图

1) 新建一个变量

UE4 中文文档阅读_第108张图片
默认值如下

UE4 中文文档阅读_第109张图片

2) 事件

UE4 中文文档阅读_第110张图片

第四步:界面显示

UE4 中文文档阅读_第111张图片

第五步:完整的UI及其优化

UE4 中文文档阅读_第112张图片

八、骨骼动画重定向

无论做哪一种游戏类型,现有的小白人无法满足玩家对角色人物美观性的要求,因此,必须重新设计人物模型,这就涉及了人物在地图中walk、run、jump等骨骼动画。因此,今天来学习骨骼动画重定向操作。

第一步:查看小白人的骨骼

第三人称小白人的骨架位置如下

UE4 中文文档阅读_第113张图片

重定向图片预览

1. 分别打开小白人的骨骼和自己导入进去的骨骼

UE4 中文文档阅读_第114张图片

2. 打开骨骼重定向管理器,设置

UE4 中文文档阅读_第115张图片

3. 姿势查看,将人物变成  T   pose ,并点击Modify Pose中use current pose

UE4 中文文档阅读_第116张图片

UE4 中文文档阅读_第117张图片

UE4 中文文档阅读_第118张图片

这样点击view pose和hide pose,就会出现不同的效果

4. 对于导入进来的骨骼,需要自己绑定骨架,如果直接auto map极有可能出现问题

也需要重定向管理器操作

UE4 中文文档阅读_第119张图片

UE4 中文文档阅读_第120张图片

在绑定骨骼之前,先对骨骼的名称进行了解(机翻)

  • Root:根
  • Pelvis:骨盆
  • spine:脊椎
  • clavicle:锁骨
  • UperArm:上臂
  • lowerarm:下臂
  • hand:手
  • neck:脖子
  • thigh:大腿
  • calf:小腿
  • foot:脚

UE4 中文文档阅读_第121张图片

上图中的Thigh_L定向出错,应该是leg-left-thigh

UE4 中文文档阅读_第122张图片

UE4 中文文档阅读_第123张图片

UE4 中文文档阅读_第124张图片

UE4 中文文档阅读_第125张图片

UE4 中文文档阅读_第126张图片

UE4 中文文档阅读_第127张图片

UE4 中文文档阅读_第128张图片

打开这个资源,会出现动画

同样操作:闲置状态、走路状态、奔跑状态、

要使人物mode在地图上跑,需要新建一个人物蓝图

UE4 中文文档阅读_第129张图片

UE4 中文文档阅读_第130张图片

调整摄像机

UE4 中文文档阅读_第131张图片

新建一个动画蓝图

UE4 中文文档阅读_第132张图片

UE4 中文文档阅读_第133张图片

UE4 中文文档阅读_第134张图片

UE4 中文文档阅读_第135张图片

UE4 中文文档阅读_第136张图片

新建混合空间,命名为walk

UE4 中文文档阅读_第137张图片

UE4 中文文档阅读_第138张图片

UE4 中文文档阅读_第139张图片

UE4 中文文档阅读_第140张图片

并将混合空间与人物蓝图绑定

UE4 中文文档阅读_第141张图片

选择人物动画

UE4 中文文档阅读_第142张图片

使用新地图来显示新人物

在搬运thirdPersoncharacter中的运动事件时,一定要将报错的组件创建为变量

UE4 中文文档阅读_第143张图片

然而出现后退步转身的情况

UE4 中文文档阅读_第144张图片

UE4 中文文档阅读_第145张图片

Done !

九、 3D UI和半自动和全自动

第一人称射击游戏,需要在导入模板之前就选择第一人称模板,这样枪里才有子弹。

第一步:设计3D界面

UE4 中文文档阅读_第146张图片

UE4 中文文档阅读_第147张图片

第二步:在游戏中,3D界面是以actor的形式存在的,不能使用create widget

UE4 中文文档阅读_第148张图片

添加widget组件

UE4 中文文档阅读_第149张图片

UE4 中文文档阅读_第150张图片

UE4 中文文档阅读_第151张图片

在2D UI使用blur可以模糊化,但是在3D UI,无法使用,因此使用Border来处理

UE4 中文文档阅读_第152张图片

UE4 中文文档阅读_第153张图片

UE4 中文文档阅读_第154张图片

UE4 中文文档阅读_第155张图片

第三步:地图的设置

UE4 中文文档阅读_第156张图片

这样红色箭头就变化了,旋转90度将其调整过来,放在枪口上,并在

UE4 中文文档阅读_第157张图片

UE4 中文文档阅读_第158张图片

UE4 中文文档阅读_第159张图片

UE4 中文文档阅读_第160张图片

UE4 中文文档阅读_第161张图片

UE4 中文文档阅读_第162张图片

UE4 中文文档阅读_第163张图片

UE4 中文文档阅读_第164张图片

UE4 中文文档阅读_第165张图片

UE4 中文文档阅读_第166张图片

注:如果想要通过鼠标来进行互动

以下步骤:

UE4 中文文档阅读_第167张图片

UE4 中文文档阅读_第168张图片

一开始界面显示:

新建一个pawn

UE4 中文文档阅读_第169张图片

 

 

 

 

 

你可能感兴趣的:(UE4)