实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入

Share REC简介

随着各种游戏直播平台的兴起,人们对游戏的分享热情也在不断的升温,现在PC端的录屏分享和实时分享已经很普及了,但是想要在移动端实现游戏的分享还是很困难的,普通的录屏软件还需要ROOT权限。接下来介绍的这款SDK就很完美的解决了这一问题,而且接入简单。

ShareREC是Mob推出的最完美手游录像解决方案,接入SDK的游戏将拥有强大的录制并分享的功能,同时后台提供完善的数据统计,实时了解播放量、分享量和下载量。

下载地址

ShareREC录屏SDK下载链接------>>点击下载

开始接入ShareSDK

此SDK的接入将会以制作一个小DEMO的方式交给大家,当然,笔者第一次做文章分享,有什么不足的地方欢迎留言指正

废话少说我们现在开始

创建Unity工程

本次教程使用unity的版本为4.6.1fi的版本


实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第1张图片

首先创建一个工程,当然工程的名字随便取,不过最好还是可以见名知意


实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第2张图片

创建好工程最好先保存一下当前场景,养成一个好的开发习惯。这里我创建了一个目录用来存放场景文件,在该目录保存场景并命名为Scene01。


实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第3张图片

创建DEMO拖动物体的功能

那么接下来就是制作DEMO的功能了,我在百度找了一个拖动物体的方法,并放入了该工程中,在这里感谢“清道夫”的分享

拖动物体的代码原地址------>>点击跳转

在此附上源码,新建脚本将此代码粘贴至脚本中,将该脚本挂在你想要拖动的物体上面就大功告成了!!!

private Vector3 _vec3TargetScreenSpace;// 目标物体的屏幕空间坐标

private Vector3 _vec3TargetWorldSpace;// 目标物体的世界空间坐标

private Transform _trans;// 目标物体的空间变换组件

private Vector3 _vec3MouseScreenSpace;// 鼠标的屏幕空间坐标

private Vector3 _vec3Offset;// 偏移

void Awake() { _trans = transform; }

IEnumerator OnMouseDown()

{

// 把目标物体的世界空间坐标转换到它自身的屏幕空间坐标

_vec3TargetScreenSpace = Camera.main.WorldToScreenPoint(_trans.position);

// 存储鼠标的屏幕空间坐标(Z值使用目标物体的屏幕空间坐标)

_vec3MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, _vec3TargetScreenSpace.z);

// 计算目标物体与鼠标物体在世界空间中的偏移量

_vec3Offset = _trans.position - Camera.main.ScreenToWorldPoint(_vec3MouseScreenSpace);

// 鼠标左键按下

while (Input.GetMouseButton(0))

{

// 存储鼠标的屏幕空间坐标(Z值使用目标物体的屏幕空间坐标)

_vec3MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, _vec3TargetScreenSpace.z);

// 把鼠标的屏幕空间坐标转换到世界空间坐标(Z值使用目标物体的屏幕空间坐标),加上偏移量,以此作为目标物体的世界空间坐标

_vec3TargetWorldSpace = Camera.main.ScreenToWorldPoint(_vec3MouseScreenSpace) + _vec3Offset;

// 更新目标物体的世界空间坐标

_trans.position = _vec3TargetWorldSpace;

// 等待固定更新

yield return new WaitForFixedUpdate();

}

}

开始接入sdk

本次的DEMO使用的UI为NGUI,这里UI部分不做详细的解答,UI的布局如下


实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第4张图片

接下来便是每个按钮的功能功能编写

实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第5张图片
将ShareREC脚本拖到MainCamera上面

实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第6张图片

ShareREC脚本中有几个属性

APP Key :在Mob官网创建一个账号,进入后台创建一款应用,你就会找到此ID

APP Secret:同上

Max Frame Size:录屏时的分辨率设置

Bit Rate:这个默认就好

Record Audio From Mic:是否使用设备麦克风录制声音

在编写之前要先引入SDK的命名空间

using cn.sharerec;


创建按钮监听脚本监听按钮的点击

public UILabel uilable;

public GameObject IsOn;

void Start () {

if (ShareREC.IsAvailable())

{

uilable.text = "支持";

} else

{

uilable.text = "不支持";

}

}

//开始录制视频

public void OnSwitch() {

ShareREC.StartRecorder();

IsOn.SetActive(true);

}

//结束录制视频

public void OffSwitch() {

ShareREC.StopRecorder();

IsOn.SetActive(false);

}

//视频分享

public void VideoData() {

ShareREC.ShowShare();

}

//个人资料

public void PersonalData() {

ShareREC.ShowProfile();

}

//视频列表

public void VideoList() {

ShareREC.ShowVideoCenter();

}

最后将方法的监听加到按钮上面就大功告成了

开发中会出现的问题

在SDK导入之前需要将开发环境切换成安卓,这样Unity才不会报错。

Unity是不支持在编辑器上面测试安卓的方法的,需要将工程打包之后才可以进行DEMO的测试

打包的时候安卓的版本号需要和AndroidManifest保持一致,不然会报错

DEMO成品图欣赏



实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第7张图片
实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第8张图片
实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第9张图片


实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第10张图片
实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第11张图片
实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入_第12张图片

你可能感兴趣的:(实现游戏的录屏工能-Unity之游戏录屏SDK ShareREC的接入)