如何使用Unity使用ARCore录制视频?

时间:2018-04-21 03:34:55

标签: unity3d arcore

我一直坚持这个问题一个多月了。我只需要在人们使用AR应用程序时录制视频。

有几种选择:

1。在Unity中截取每个帧的屏幕截图。
我每帧都试过taking a screenshot。这太慢了。 fps仅为5 然后我尝试saving the texture到一个数组,然后将它们编码为图像。
这会占用大量内存,并且会导致移动电话出现明显的帧丢失。 fps大约是10。
如果有人对这种方法有好主意,请告诉我。

2。使用原生插件录制视频。
我还没有找到任何解决方案。我担心这可能与ARCore发生冲突。

我知道有一个Android solution,但理想情况下我想使用Unity。感谢任何帮助,谢谢!

第3。从ARCore计算机视觉示例提供的纹理阅读器api中保存纹理。
目录中有一个Computer Vision示例。我可以通过它的api直接从GPU获得纹理。

然而,fps仍然很低。使用其边缘检测器示例,fps大约为15.我成功地将这些帧保存到另一个线程中的本地目录。但是fps仍然是不可接受的。底线是720p,30fps。

PS:我只需要保存帧。我可以将它们编码为视频。

PPS:只记录相机输入记录相机输入和增强对象都可以。任何一个成就都很棒。

1 个答案:

答案 0 :(得分:4)

您可以使用(非常棒的)NatCorder unity assetasset store link)和相关的NatShare API轻松实现视频录制和共享。我在自己ARCore experiment/"game中做了同样的事情。“

编辑:您可能必须实施this解决方法才能获得平滑的帧速率。