EasyAR4.0使用说明(Unity3D)(九)----屏幕录像

屏幕录像不是增强现实的功能,只是EasyAR SDK自带的一个功能。该功能限制颇多,只能在移动设备上使用,而且没有办法直接录制UI界面。屏幕录像功能本质上录的是RenderTexture。

总体说明

主要是在基础结构上添加了一个【VideoRecorder】游戏对象。另外,需要动态的往【Main Camera】主摄像机游戏对象上添加【CameraRecorder】脚本。

总体说明

CameraRecorder脚本相关

  • CameraRecorder脚本需要动态添加到Main Camera主摄像机游戏对象上,该脚本可以通过Setup方法设置录像内容的水印。

VideoCameraDevice游戏对象相关

  • Enable属性可以用于关闭摄像头内容,这样,就能只录制屏幕内容。
  • Camera Size属性用于设置摄像头获取的视频的分辨率。

VideoRecorder游戏对象相关

  • Profile属性用于设置录制效果,最高可以录制1080高清内容。
  • Qrientation属性用于设置录像时候是横屏(Landscape)还是竖屏(Portratit),或者根据当前屏幕情况设定(Screen Adaptive)。
  • Record Zoom Mode属性设置屏幕录制。NoZoomAndClip:如果输出宽高比与输入不符,内容会被剪裁到适合输出比例。ZoomInWithAllContent:如果输出宽高比与输入不符,内容将不会被剪裁,在某个维度上会有黑边。
  • File Path Type属性设置文件的路径类型,“Absolute”是绝对路径,“Persistent Data Path”是相对于持久数据路径的相对路径。通常使用后者,因为该路径下能保证可写入。
  • File Path属性用于设置录制后保存的视频文件的具体路径及文件名。

取消多线程渲染

取消Other Settings标签下Multithreaded Rendering选项

总体说明

使用屏幕录像功能

  • 只导入EasyAR4.0 SDK,要使用屏幕录像功能还比较麻烦,还需要将官方示例中的一个脚本导入过来,这样使其起来会简单很多。

使用屏幕录像功能

  • 设置场景中的Main Camera的Clear Flags属性为Solid Color。
  • 将EasyAR/Prefabs/Composites目录下的EasyAR_VideoCamera预制件拖到场景中。

使用屏幕录像功能

  • 将EasyAR/Prefabs/Primitives目录下的VideoRecorder预制件拖到场景中。
  • 设置Videorecorder属性,设置File Path Type为Persistent Data Path,设置File Path为具体文件名。

使用屏幕录像功能

添加2个按钮用于开始和停止录像,添加一个文本框显示提示。

编写脚本。

  • 在脚本的“Awake”事件中,添加对“StatusUpdate”事件的侦听内容。将获取到的信息显示到文本框。
  • 添加开始录制的方法。在运行了“StartRecording”事件后,还需要动态的往主摄像机上添加“CameraRecoder”脚本,并运行该脚本的“Setup”方法。
  • 添加停止录像的方法,停止后,还需要删除动态添加的脚本。
using UnityEngine;
using UnityEngine.UI;
using easyar;
using VideoRecording;

public class RecorderController : MonoBehaviour
{
    public Text uiText;
    public VideoRecorder videoRecorder;
    private CameraRecorder cameraRecorder;

    private void Awake()
    {
        videoRecorder.StatusUpdate += (status, msg) =>
        {
            if (status == RecordStatus.OnStarted)
            {
                uiText.text = "Recording start";
            }
            if (status == RecordStatus.FailedToStart || 
status == RecordStatus.FileFailed || status == RecordStatus.LogError)
            {
                uiText.text = "Recording Error: " + status + ", details: " + msg;
            }
            Debug.Log("RecordStatus: " + status + ", details: " + msg);
        };
    }
    public void StartRecorder()
    {
        videoRecorder.StartRecording();
        cameraRecorder = 
Camera.main.gameObject.AddComponent<CameraRecorder>();
        cameraRecorder.Setup(videoRecorder, null);
    }
    public void StopRecorder()
    {
        if (videoRecorder.StopRecording())
        {
            uiText.text = "Recording stop " + videoRecorder.FilePath;
        }
        else
        {
            uiText.text = "Recording failed";
        }
        if (cameraRecorder)
        {
            cameraRecorder.Destroy();
        }
    }
}

运行以后,点击按钮就可以开始录像,文本框会显示开始录制的提示“Recording start”。点击停止按钮,就会停止录像。

使用屏幕录像功能

录像的结果会保存在持久数据目录下,具体目录位置请查看Unity官方文档
https://docs.unity3d.com/2018.4/Documentation/ScriptReference/Application-persistentDataPath.html

使用屏幕录像功能

视频版地址:https://www.bilibili.com/video/bv1eK4y1k7QX

### 回答1: b'easyar4.0与Unity图像识别的区别是什么?' easyar4.0是一款专门用于图像识别的软件开发工具,而Unity则是一款游戏引擎。虽然Unity也支持图像识别功能,但是easyar4.0在这方面更加专业和方便,可以更快速地开发出高质量的图像识别应用程序。另外,easyar4.0还支持多平台开发,包括iOS、Android和Windows等操作系统,在跨平台图像识别方面有着更强的优势。 ### 回答2: 易盾AR4.0是一款先进的增强现实技术软件,主要用于实现AR教育、AR游戏、AR导航、AR营销、AR打印、AR展示等多种应用场景,可以快速、精准地识别并追踪现实世界中的图像、物体、地标等,实现现实世界与虚拟世界的无缝衔接。在实现AR技术的应用过程中,Unity是目前最为流行的游戏引擎之一,支持3D及2D开发,易盾AR4.0也可轻松与Unity进行深度集成,实现优质的AR应用体验。 EasyAR4.0和Unity图片识别的结合使用可以实现具有高度智能化的增强现实效果,满足多种应用的需求。EasyAR4.0提供的图像识别技术可以对于预设好的图像进行快速、准确的识别,同时还可以追踪出图像的位置、大小、方向等元素的相关信息,为效果展示提供了基础的数据支持。而Unity则提供了丰富的图形渲染和动画特效制作功能,能够更好地呈现AR效果。 通过EasyAR4.0和Unity应用配合开发,可以在AR教育中实现具有互动性的科普展示;在AR游戏中增强游戏场景的真实感;在AR导航中将现实世界与虚拟地图相结合,方便用户更好地进行导航;在AR营销中增强产品的展示效果等。 总之,EasyAR4.0与Unity的结合对于实现AR应用具有重要的意义,可以为AR应用领域的发展带来重大的推动作用。 ### 回答3: EasyAR是一款跨平台的增强现实SDK,而Unity是一款游戏引擎。EasyAR的4.0版本是其最新的版本,提供了更加稳定、高效的识别和跟踪功能。EasyAR4.0能够通过自己的AR引擎,对现实世界进行实时检测,能够实现二维码、图像、目标、物体的跟踪与识别。 在Unity使用EasyAR4.0能够实现非常流畅和高效的增强现实效果。首先,开发者需要先将EasyAR插件设置好,然后将识别的图像或物体导入Unity中进行编辑。这包括添加AR相机、设置AR目标、添加跟踪事件等等。然后开发者可以使用Unity所提供的各种功能,例如粒子效果和声音效果,用来强化增强现实效果。 相对于其他增强现实SDK,EasyAR4.0的优势在于它提供了丰富的资料支持和社区支持。EasyAR官网提供了许多视频教程、开发文档和示例代码,能够让开发者更快速地上手。此外,EasyAR还提供了一个活跃的社区,开发者能够在上面分享自己的经验和获取他人的帮助。 总之,EasyAR4.0作为一个成熟的增强现实引擎,与Unity的结合使用能够实现出色的AR应用。希望今后EasyAR能够不断更新和完善,为AR开发者提供更好的开发工具和平台。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值