我的专栏目录:
小IVan:急速游戏开发综述及目录概述:
技术美术需要对整个游戏制作流程都非常清楚,这样才能在开发中提出合理的制作方法。有时候有空可以自己做做游戏demo,这个过程也非常有趣。游戏Demo篇将会在Unreal中制作各种游戏Demo,慢慢总结游戏开发过程中除了效果实现外的一些经验技巧。
下面就先从一个非常简单的飞机大战小游戏开始,我花了四十分钟制作下面的demo。
效果预览:
使用工具:
(1)UnrealEngine4
(2)3DMax2017
开发步骤:
(1)资源准备:
瞎做两个模型,一个是玩家自己一个是敌人,瞎做得连UV都不分了
然后给模型准备材质
新建一个GameMode类
并在项目设置中指认
在GameMode中指认我们的player类
然后在worldsetting里指认GameMode类
新建一个Pawn类取名为BP_SRBasicCharacter
新建三个组件,分别是胶囊体,staticmeshcomponent,还有个FloatingPawnMovement移动组件
然后新建两个变量,一个bDie用来判断角色是否死亡,一个LiveValue,角色的血量
新建两个CustomEvent,分别取名叫MoveForward和MoveRight,然后调用移动命令
然后新建一个customEvent,命名为Die
同理制作一个受伤函数
在做这步之前需要在资源浏览器中新建一个派生自这个类的BP_Player类,这样才能Cast哈
然后对BP_SRBasicCharacter的胶囊体组件做如下设置:
对模型Plane组件做如下设置:
然后来到我们刚才说的,派生自BP_SRBasicCharacter的角色类BP_Plater中
我们新家一个SceneComponent然后把它移动到合适位置,作为我们发射子弹的点
然后来到项目设置里面,绑定按键
然和再回到BP_PLayer脚本中,用按键绑定父类我们实现的移动函数
我们新建一个相机指针变量
注意把它设置为public
然后在场景里拖一个摄像机然和指认关系
在BP_Player的BeginPlay做如下设置
然后在后面继续做一些逻辑,设置碰撞更新组件
做完这些之后,我们新建一个敌人类,第人类派生自BP_SRBasicCharacter
下面是第敌类的移动逻辑:
然后是第人类的摧毁逻辑
然和是第人类的攻击逻辑
我们新建一个Actor类,命名为BP_BasicBulet
然后做如下设置
这就是我们的子弹了
然后是我们的UI
新建一个UMG命名为BP_GameUI
双击点开新建一个百分比控件
在这里创建一个绑定函数
然和新建两个float变量,并且初始值都是100
然和到BP_Player实例化它,在BeginPlay后面接上如下逻辑,新建了一个CustomEvent负责UI更新
至此我们的UI完成了。
然和是关卡搭建
红笔圈的是KillingVolume
蓝笔是BlockVolume
黑笔是PostProccess
呼呼呼,我们的游戏终于完成了,我总共花了40分钟左右,有兴趣的朋友可以挑战一下,有没有更快的。下面是工程链接:
文件分享Enjoy it !!!