老游戏重置-打纸飞机
本帖最后由 zhu24708 于 2016-11-8 21:27 编辑老游戏:打飞机
建一个带有初始资源的空关卡和准备的材料:
底图UV:http://unrealchina.com/forum.php?mod=image&aid=3128&size=300x300&key=caef8113acafbf74&nocache=yes&type=fixnone敌人飞机:http://unrealchina.com/forum.php?mod=image&aid=3129&size=300x300&key=f5c035be525ba5f5&nocache=yes&type=fixnone自己飞机:http://unrealchina.com/forum.php?mod=image&aid=3130&size=300x300&key=a838f8a48822b28a&nocache=yes&type=fixnone
最终结果:
其次需要在“关卡蓝图”中准备5个目标点、1个函数、:
目标点:在关卡中放入用于刷新敌人飞机位置的5个目标点,选中所有目标点,在关卡蓝图新建函数“time”中右键引用之。
函数: 命名为:“time”class里选择敌机的名字。如下图是函数设置
这是关卡的俯视图:
新建一个摄像机(Filmback settings设置为35mm vistaVison)调整位置如下图,添加2个碰撞体阻挡玩家离开地图。
添加一个网格调整为长方形作为整个游戏地图,创建一个材质球,把“底图uv”赋予给地图,其中,这个材质球需要添加一个panner(设置Y轴speed移动-0.1)用于模仿持续飞行(也就是底图一直在动)。
HUD:分数界面,如下图就不多说了,不懂的看官方文档
关卡蓝图:
选中摄像机,在蓝图中右键选择调他的引用,添加set view target with blend 节点,按图中连起来,即可获得游戏后的固定视角。
添加自定义事件time_loop与set timer by function name:
function name 中填写上“time”(这里就是上面在关卡蓝图中新建的函数)函数。
time值填写2(每隔2秒刷新一架)
loop打对勾(代表持续循环刷新)
现在添加主角(自己的飞机):
新建一个characterBP为其添加组件:
添加一个球体碰撞组件(当作飞机发射子弹的位置)
添加一个网格组件(这里即飞机,导入自己飞机的贴图)
添加一个整数型变量:score(这里代表击中飞机给予的总分数)
首先是在项目设置中,增添输入,分别是向左向右2个键,这里需要注意的是,两者的值必须是一正一负(为了在Y轴上左右移动)。
接下来就是在角色蓝图中获取向左和向右的建,并且make vector,添加一个speed(角色移动速度)的变量,并与上述的值相乘。最后连接到add actor world offset(acrtor在世界中的偏移量)的location,即可实现平滑移动。
添加开火控制键 向上键作为开火事件,添加一个spawn actor 节点,class里选择子弹的bp名字(后面将要创建子弹bp)
子弹蓝图:
添加一个投射组件:这样子弹就具有了弹射能力,双击这个组件,修改initial speed、max speed、 velocity X:值各位1000(子弹速率)
添加一个网格:子弹模型(随便选一个圆柱体即可)
敌人飞机蓝图:
这里也是最为复杂的地方,
首先,在开始事件节点中获取角色信息,然后提升为变量:Myself,获取这个变量,在从这个变量中拖出并搜索“socre”,添加get score和set score。添加一个整数型加法运算(值填写1,代表击中一架给1分)与设置score连接。
双击time节点会打开time面板,在里面新建一个函数,创建1个2秒长度的递增曲线(代表飞机飞行速度是2秒内加速到最快)
-------------------------------------------------------------------------------------
子弹、飞机、敌人飞机,取消这三个actor的阴影(在他们的详细面板搜索shadow,取消对钩)
子弹、敌机取消这两个actor的重力信息(在他们的详细面板搜索gravity,取消打勾)
至此,打飞机的基本构建过程就结束了。
自己飞机的BP被虚幻中国的水印给挡住了一个变量,变量是创建的球体碰撞(子弹发射位置) 这个很不错,支持下 可以可以 这里面还是有很多BUG的。。只是一个简陋版的打飞机。
比如。移动可以超出边框,这个后面可以在两侧加上碰撞对pawn的阻挡即可个。
可以可以,相当良心 感谢分享 很有意思的感觉哈 谢谢分享
好东西,不容错过