UE4开发三:创建游戏模式、角色、控制器

UE4新建人物和地图模式

在 UE4 中,每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。

新建 GameMode

  1. 打开 UE4 编辑器,我们点击左下角的“显示/隐藏资源面板”。

显示/隐藏面板

  1. 点击 “C++类” ,选中"GameProject" 文件夹,在右边的“资源面板”右键点击 “新建C++类”。

img

  1. 选中“GameModeBase”(游戏模式),点击“下一步”。

img

  1. 更改我们的类名为:PlayingGameModeBase,说明是游戏中的 GameMode,选择右边的“公有”,这个选项会把.h.cpp文件分开,方便我们查看代码。更改头文件的存放路径,建议路径和我的保持一致,最后点击“创建类”。

img

  1. 打开 VS 编辑器,可以看到我们刚刚创建的.h.cpp文件。

img

新建角色

  1. 我们回到 UE4 编辑器,使用同样的方法去创建我们的 Character 类,Character 类是我们的角色类,也是我们玩家控制的角色,它里面自带了角色移动组件。

img

  1. 更改类名为 PlayingCharacter,同样放在“/Playing”文件夹下。

img

  1. 创建成功后 VS 编辑器如下:

img

新建控制器(PlayerController)

  1. PlayerController 代表着我们玩家,我们玩家通过这个控制器去控制我们的角色(Character),它里面有自带的按键输入,是否显示鼠标,是否开启点击事件之类的功能。

img

  1. 更改类名为 PlayingController,同样放在“/Playing”文件夹下。

img

  1. 创建完成后 VS 编辑器如下:

img

这样我们就创建了三个类,但是也只是创建出来了而已,下一节将会配置这三个类到游戏中。

UE4设置默认游戏模式和关卡

  1. 首先我们回到 VS 编辑器,在“内容浏览器”里面选择“内容(Content)”:

img

  1. 新建一个存放资源的文件夹名为“Assest”,然后在“Assest”目录下创建一个“Maps”文件夹,表示存放我们的地图。

img

  1. 点击 “保存关卡”:

img

  1. 点击保存之后会弹出一个窗口,我们把关卡的名字改成“NoviceMap”,并把它存放到我们新建的“Maps”文件夹下。

img

保存成功后“资源浏览器”就会出现你刚刚保存的地图:

img

  1. 回到 UE4 编辑器,点击左上角“编辑”,然后打开“项目设置”:

img

  1. 选择“地图&模式”:

img

  1. 在右边的窗口把“DefaultGameMode(默认游戏模式)”设置成我们创建的“PlayingGameMode”类,把下面的“EditorStartupMap(编辑器启动地图)”和“GameDefaultMap(游戏默认地图)”设置成我们保存的“NoviceMap”。

img

设置好了之后,每次打开编辑器点击“Play(播放)”都会默认打开这个地图和这个游戏模式。

img

UE4设置默认角色和控制器

这一节我们来设置默认的角色和控制器和默认地图不一样,默认角色和控制器需要设置在 GameMode 里面。

  1. 打开 VS 编辑器, 打开“APlayingGameModeBase.h”文件,声明一个构造函数:

img

  1. 在“APlayingGameModeBase.cpp”文件中创建构造函数实现,然后在 #include “PlayingGameModeBase.h” 头文件的下面添加 #include “PlayingController.h” 和 #include “PlayingCharacter.h” 头文件。

img

  1. 在构造函数中添加以下代码:

img

对代码的说明:

  • DefaultPawnClass 是我们进入地图的时候默认控制的角色;
  • PlayerControllerClass 是我们进入地图的时候默认的角色控制器。

这样,我们就设置好了默认角色和默认控制器.然后我们编译一下,编译好了之后我们在 UE4 编辑器里面点击Play,我们会发现视口被锁定了无法移动,那是因为我们还没有写视角和移动的逻辑,下一节将会实现这些功能。

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值