如何使用 Unity3D 为 iPad Pro 创建多屏体验?

Posted

技术标签:

【中文标题】如何使用 Unity3D 为 iPad Pro 创建多屏体验?【英文标题】:How can I create a multi-screen experience for an iPad Pro using Unity3D? 【发布时间】:2019-05-08 18:28:38 【问题描述】:

多年来,Apple 提供了在连接的屏幕上显示与驱动它的 ios 设备上的内容不同的内容的能力。

有没有办法将此功能与 Unity 内置的应用程序一起使用?即,iPad 将显示一个摄像头视图,而通过 USB-C 连接器通过 HDMI 连接的电视将显示不同的摄像头视图?

Apple 文档文章是 here,一个不错的演练是 here。

This article 解释了如何在 Unity 和 Swift 之间发送消息,但范围似乎相当有限。

【问题讨论】:

对第二个屏幕的支持已经存在很多年了。请参阅Display one thing on iPad and another on Apple Tv(答案使用 Objective-C 代码,但它与 Swift 中的 API 相同)。在 iPad Pro 上支持它并没有什么特别之处。 也许像这样docs.unity3d.com/Manual/MultiDisplay.html? 【参考方案1】:

很遗憾,iOS 不支持正常的 Unity MultiDisplay 工作流程,因此解决方案有点棘手:

using UnityEngine;
using System.Collections;

public class MultiScreen : MonoBehaviour


    // set the two cameras via the inspector
    public Camera primaryCam;
    public Camera secondaryCam;

    void Start()
    
        // render the primary camera to the main display
        primaryCam.SetTargetBuffers(Display.main.colorBuffer, Display.main.depthBuffer);

        secondaryCam.depth = primaryCam.depth - 1;
        secondaryCam.enabled = false;
    

    void Update()
    
        // only render the second display if it is attached
        if (Display.displays.Length > 1 && !secondaryCam.enabled)
        
            // set the second display's resolution
            Display.displays[1].SetRenderingResolution(Display.displays[1].systemWidth, Display.displays[1].systemHeight);

            // render the secondary camera to the second display
            secondaryCam.SetTargetBuffers(Display.displays[1].colorBuffer, Display.displays[1].depthBuffer);
        

        // activate the second camera and render pipeline if a second display is connected
        secondaryCam.enabled = Display.displays.Length > 1;
    



此外,我必须确保 Auto Graphics APIProject Settings > Player > Other Settings > Rendering 中被停用,并且 Metal 已从以下列表中删除。设置 Company NameProduct NameBundle Identifier 可能也有帮助。

【讨论】:

以上是关于如何使用 Unity3D 为 iPad Pro 创建多屏体验?的主要内容,如果未能解决你的问题,请参考以下文章

ARKit 3.5 – 如何使用 LiDAR 从新 iPad Pro 导出 OBJ?

取代 PC?iPad Pro 上手,说说关于 iPad Pro 的争议与疑问

如何在 iPad PhoneGap 应用程序上编辑现有 PDF(使用 Acrobat pro 创建)

iPad Pro Cordova 应用程序缩放

如何实现新的 iPad Pro 键盘快捷键功能?

iPad Pro如何当外置显示器(winmac)