16

Unity完全自制游戏纸箱战争项目记录(20180716)

 5 years ago
source link: http://gad.qq.com/article/detail/247786
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

今天编辑私信我说要在公众号上发一下,下午就看到了,很开心。

项目的最后完工节点被定在了周六,周六将会举行产品发布会,这么说留给我的时间只有到周五就截止了,而且明天还有别的事情需要耽搁一天,满打满算还剩下三天的项目时间。

在这三天中要实现各项的优化,和组件的拼接工作,事态非常严峻。

今天还发现了一个特别严重的事情,关乎到了游戏效果的成败,到目前为止,我的游戏还没有任何声音。

FPS中,声音一项占到了重要的一环,而我的项目居然没有声音,这根我的设计思路不符合,按照设想,项目从模型制作,动画的调整,代码的编写都是一个人完成了,我却疏忽了声音这一点,自己想办法配的话肯定是来不及的,难道就必须得在网上找资源了么?

今天需要给老师提交一个预览版的游戏包,做了个简易的UI界面。

image001.1531743329.png

数一数,项目到现在为止已经迭代了八个版本,每个版本都更新了不少功能。

image002.1531743329.png

主界面浏览图,借鉴了守望先锋的设计风格,把模型人物放在主界面上进行展示。

在场景的异步加载界面本来想用一个loading条演一下,一想,既然UI界面都向着网游倾斜了,那干脆就把Loading条演一下好了,就弄了个假装排位的倒计时。

image003.1531743329.png

在读取完毕之后,会跳转到游戏场景,在游戏场景中是预留了很多接口的,一遍日后可以统一的管理游戏进程。

在进入游戏后,进能看到寻常的FPS界面,准星,血条,小地图,目标点占领状态。

image004.1531743329.png

当玩家在游戏中时,如果处于死亡状态,系统则会循环判断当前重生点的可用情况,如上图的B点被蓝色完全占领,那么可重生的坐标点就只有B点。

在选择了重生点和重生后的兵种后,玩家就会以该兵种在重生点重生。

image005.1531743329.png

受到攻击血条减少。

这里还设计了比较有意思的点。

还记得以前玩到的一些游戏,玩家在死亡后有一段的死亡回放,会以敌人的视角让你看一遍自己是怎么被杀死的,也在一定程度上监督了外挂。

在刚开始制作游戏前的构思中,我就想要实现到死亡回放的功能,当时就想到了死亡回放应该是记录下了游戏运行时候的状态,再模拟重演出来一次,如果是录制视频的话对系统内存的消耗就太大了。

查阅了一些资料,有关于守望先锋死亡回放系统的讲解,里面采用的就是记录数据后重演的做法。

思索了一下,对我目前的实力来说比较困难,当然了,也不是不可能实现,只要记录下游戏中人物的位置变化,每隔一段时间对数据进行更新覆盖,在死亡之后切换视角验算一次。

可时间严重不足,没有时间给我再做实验,只能作罢。

于是我就换了一种死亡视角,在玩家死亡之后,播放玩家的死亡动画,随后运行其另一台摄像机,使这台摄像机会看着杀死玩家的单位方向并且追踪,这样既不影响游戏进度,而且还简单易用。

image006.1531743329.png

如图红圈中就是被打死后死亡视角摄像机观察的目标(准星设置的太大,导致盖住了人体,仔细看还有能再右下看到一个轮廓的)

FPS中,一般玩家都看不到自己的身体,能看到的只有两个手臂,为了更简单,在游戏中玩家的身体被省略掉了,实例化出来的敌人才会有真正的身体。

而我的动画模型和手臂完全连接成了一个整体,没有更多的时间给我切割模型,所以在我的游戏中,玩家都是带有身体的。

前两天还想到设计一个彩蛋,如果玩家低头往自己脚上打的话会掉血的设定,仔细想想,估计也不会有人闲着无聊去观察这种设定,也就给舍弃了。

既然是有身体,那岂不就可以让玩家切身实地的感受到自己的死亡?

image007.1531743329.png

就这样,在玩家死亡之后,身体会产生跌倒的动画,而摄像机也会跟随者玩家一同跌倒在地面上,仿佛真的是中弹身亡一般。

最后,今天又丰富了三个脚本:

image008.1531743329.png

UIControl:负责总体控制UI系统

PlayerControl:负责对玩家进行总体控制

GameControl:负责对游戏进行总体控制

在接下来的几天,将会把之前预留的功能全部接驳在GameControl中,能节省大半的功夫。

 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK