每秒获取 Swift4 SCNScene 30 个快照,并在 UIImageView 的外部屏幕上平滑绘制

Posted

技术标签:

【中文标题】每秒获取 Swift4 SCNScene 30 个快照,并在 UIImageView 的外部屏幕上平滑绘制【英文标题】:Get Swift4 SCNScene 30 snapshots per second and draw them smoothly on external screen in UIImageView 【发布时间】:2018-05-12 01:19:11 【问题描述】:

我有一个小问题,可能是错误的方法。我用 SCNView 创建了一个 ipad 应用程序(swift4),它工作得很好,所有的变换、灯光、手势......但我想在外部屏幕上显示这个场景,通过空中播放连接,而不仅仅是复制我在上面看到的平板电脑。 SCNView 与另一个 ui 元素在 UIView 中,我不想在外部屏幕上显示。如何让它在两个屏幕上平滑转换?我试图克隆场景节点,但它不起作用(可能是错误的代码),另一种解决方案是创建新的 SCNView 并加载新场景,但是我不知道如何检测手势以获得与 on 相同的转换ipad 的主显示屏,我认为它需要更多的 gpu 计算。最后的解决方案是快照视图并在外部屏幕上仅显示图像,但同样,我不知道如何聆听手势或相机移动并使其平滑。你有几分钟时间给我写一个解决方案的例子吗?以正确的方式,SCNView 上的听众还是不同的方法?我将非常感谢你!

【问题讨论】:

*** - How to Ask 【参考方案1】:

如果您不想使用 AirPlay,可以尝试ReplayKit。它允许您流式传输屏幕内容,并且您可以创建将显示它的电视应用程序。

【讨论】:

【参考方案2】:

我可能没有解决方案,但我认为非常有可能设置 Airplay 来播放你想要的内容,隐藏 UI 元素。

将帧复制或缓冲到视频中似乎是一种昂贵的方法,但并不那么疯狂......只需看看 ARKit 是如何做到的。

【讨论】:

以上是关于每秒获取 Swift4 SCNScene 30 个快照,并在 UIImageView 的外部屏幕上平滑绘制的主要内容,如果未能解决你的问题,请参考以下文章

使用 alamofire 和 Swift4 IOS 获取 XML HTTP url 的响应

SceneKit开发教程02 SCNScene和SCNView

Regex 正则表达式中几个符号([ ] ^ ?: ?= ?!)的概念

麻烦子类化 SCNScene

SCNScene / SCNSphere 的可视区域

将背景图像添加到 ScnScene