实战是学习最快的方法,今天就带大家使用虚幻5来开发自己的第一款3d游戏。
如何下载安装虚幻引擎的话网上应该有很多教程,我就不介绍哈。
一、新建项目
二、新建关卡
新建完以后保存,命名为MainLevel。
三、搭建场景
首先导入网上下载好的模型资源。
好了需要的模型导入完成,可以开始搭建场景了。
只需要把这些模型往场景里面拖就可以了,咱们统一修改材质为下图所示。
按住Alt键然后拖动移动图标就可以复制一个了。
好了我的简易场景就搭建好了(通过快捷键W(平移)E(旋转)R(缩放)去调整)。
四、添加灯光
场景黑乎乎的真难看,来搞点好看的灯光吧。
首先添加一个方向光,如果物体还是黑色的记得调节一下方向光的方向哦。
纯白光也太难看了,来加点面光源。
再来添加一个水,拖入一个平面,如何修改一下材质。
方向光太亮了,我们改暗点。
五、添加玩家
右键新建一个蓝图类
继承Pawn类就可以了,命名为BP_Player。
5.1 添加移动组件
双击打开BP_Player,添加FloatingPawnMovement组件。
5.2 添加静态网格体
咱们玩家就使用一个小球代替吧。
添加一个静态网格体组件。
勾选启用物理模拟,固定物体旋转。
5.3 添加摄像机
虚幻里面添加摄像机很简单。
添加摄像机以后稍微调整一下摄像机的位置和旋转就可以了。
5.4 添加输入
那么我们该如何控制这个小球呢?
很简单,打开项目设置
我相信大家很聪明一看就懂上面的设置什么意思。
设置完以后回到BP_Player,打开事件图表,添加如下事件。
有了前后左右移动,现在来添加跳跃。
首先添加2个变量。
JunpForce的值设置为70000.0(需要编译以后才能设置)。
跳跃是通过按下空格键来实现的,我们给小球一个向上的力,当然这个时候运行跳跃还有问题(你可以试试)。
我们需要右键添加一个新的事件,来判断玩家是否在地面。
好了玩家的移动差不多就做完了。
怎么测试一下呢?
5.5 创建游戏模式
测试以前咱们还需要新建一个新的游戏模式,命名为BP_MyGameMode。
打开World Settings,设置新建的游戏模式。
设置好了以后,在场景里面添加一个玩家开始位置。
这个时候就可以运行看看了。
按下WASD键就可以控制小球前后左右移动了,按下空格键玩家就可以跳跃了。
六、添加道具
右键创建一个蓝图类,继承于Actor,命名为BP_Gem。
打开刚刚创建的BP_Gem。
6.1 添加静态网格体组件
材质太难看了,咱们新建一个自己的材质,命名为M_Gem。
6.2 添加点光源
在添加一个点光源组件。
创建完了以后就可以把它放到场景里面了。
6.3 添加旋转
让它动起来吧。
七、添加敌人
可以直接复制道具BP_Gem,然后重命名为BP_Enemy。
打开BP_Enemy删掉前面添加的蓝图。
新建一个敌人材质,命名为M_Enemy。
7.1 敌人巡逻
让敌人动起来。
首先添加4个变量,眼睛表示公开访问,也就是可以在外面 器可以直接设置值。
咱们把敌人拖入场景,然后设置一下暴露的变量。
八、添加UI
8.1 创建UI
新建一个控件蓝图,命名为WBP_Score。
双击打开WBP_Score。
勾选是否为变量,然后再打开Graph。
新建一个函数用来更新显示的文本。
好了,UI就做好了。
8.2 显示UI
回到BP_Player蓝图,新建一个WBP_Score类型变量,命名为ScoreUI。
这个时候运行就可以看见咱们的UI了。
然后再创建一个整形变量,命名为Score。
在创建一个AddScore函数。
8.3 更新UI
回到BP_Gem,选择触发。
然后添加一个事件。
然后添加一个整数变量Score,设置为公开的,表示分数。
然后就可以去设置每一个BP_Gem代表的分数了。
运行以后就可以看见物品消失了并且添加了分数。
九、玩家死亡
9.1 添加Die函数
回到BP_Player蓝图,添加一个Die函数,当玩家死亡以后咱们就重新加载当前关卡。
9.2 敌人杀死玩家
回到BP_Enemy,和前面一样添加一个触发。
这个时候运行就可以看见玩家被杀死然后重新加载关卡了。
9.3 掉落死亡
当玩家掉落水中也是死亡,所以重新创建一个蓝图,命名为BP_Water。
删除前面添加的水,添加这个水。
十、打包
打包完以后你会发现,出现的是这个场景。
还需要修改一个地方,把下面两个地图都改了吧,一个是 器打开时默认地图,一个就是游戏打包以后运行时第一个地图。
这个时候再去打包就可以看见我们的地图了。