最近几天在处理策划的一个需求,即希望能一键录制战斗视频,方便玩家分享和上传。
需求难点是: 不要求玩家在战斗开始前,手动(或自动)打开录制视频。因为玩家可能也不清楚是否有录制这一盘的必要。而是在战斗结束后,如果玩家觉得这一盘他玩得很好,很炫,可以自动将战斗录制成视频,保存到相册内。
仔细分析了需求,分为两步:
1,重播战斗。
2舞天团加密视频,录制视频,并保存到相册。
现分讲一下这两步:
1. 重播战斗
如果大家看过前面的文章,知道我现在开发的游戏,是基于帧同步来战斗。那么,整场战斗的数据,可以总结为:
a:战斗入场数据,包含玩家属性,关卡id,随机种子等。
b:战斗的玩家每帧的操作指令数据(移动指令舞天团加密视频,按键指令)
这里我们只需要处理好战斗的入口和出口,就可以保存好战斗的两种数据,通过这两个数据,就可以做到重播战斗。
对于重播战斗,其实就是处理好战斗指令输入来源,比如PVE战斗,输入来源就是玩家的按键输入,对于联网PVE或者PVP就是客户端预测的输入和服务器确认输入。只需要把这些指令保存好,在重播的时候,将保存好的指令作为输入源,即可。
重播战斗流程示意
可以看到,只要我们处理好战斗的初始数据,保存好玩家输入的战斗指令,基于帧同步确定性战斗的实现方式,就可以非常方便地重播战斗。不同的玩法,使用不同的战斗指令输入,处理不同战斗结算等即可。
2. 录制视频,并保存到相册
录制视频,一般就是选用插件,或者第三方SDK,我在测试过很多不同的插件和SDK后,选用以下方式:
IOS下:使用unity自带的接口(我们的版本是5.6),使用非常简单,也可以直接保存录制的视频到相册。
:在尝试后,录制视频,使用官方的,虽然unity说后续不再继续支持,但是只是不支持社区上传,录制还是没问题的。保存录制好的视频到的相册,是用的是插件,使用很简单。
这块就是插件的接入和测试,并没有太多技术含量,但是测试各种插件,还是耗费不少精力,这里直接分享给大家。
顺便列出我尝试过的其他插件或sdk的问题:
还有其他杂七杂八很多实现方法,各自有些问题,有些不支持,有些无法录制声音,有些录制文件过大。最终还是选了用 , ios用。
最后,简单说一下:录制视频不是一个强需求,但是策划提了,也做一下,并且我觉得,这种方式(重播战斗并录屏),比较符合玩家的操作习惯,因为无法提前预知一场战斗是否值得录屏。这种方式如果处理好,能很好提升玩家的体验,也方便玩家将视频上传网站,传播分享。
请先
!