第一部分
地址:http://blog.sina.com.cn/s/blog_1808558f70102y3rn.html
一、先上效果图
主通道(右边)显示VR头戴设备中看到的场景,Unity中target display设置为"display 1"。
副通道(左边)显示工程控制界面,Unity中target display设置为"display 2"。
实际上显卡的输出为4个通道,屏幕两个,头显两个(左右)。

二、实现步骤
1.选择场景中负责输出UI的摄像机,分别修改“Culling Mask”、“Target Display”、“Target Eye”属性值如图所示。“Culling Mask”设置相机渲染层级,这里选择UI层级。“Target Display”设置相机输出通道,这里选择“display 2”第二个渲染通道。“Target Eye”同样对输出通道的一个设置,这里选择none,否则会使VR头显显示错误。
2.选择场景中负责输出VR的摄像机,分别修改“Culling Mask”、“Target Display”、“Target Eye”属性值如图所示。“Culling Mask”设置相机渲染层级,这里选择 Everything。“Target Display”设置相机输出通道,这里选择“display 1”第一个渲染通道,如果与UI相机的“Culling Mask”设置反,头盔的显示会出错,头盔的显示要在主通道完成,虽然这可能造成UI界面中的”Slider“组件在发布后失效。“Target Eye”同样对输出通道的一个设置,这里选择none,否则会使VR头显显示错误。
3.如果场景中设置了”Fog“全局雾,当你使用3D UI时会影响3D模型的显示,此时你可以改变UI相机的”rendering path“属性,以此改变全局雾对UI的影响。如图所示。
三、代码
using UnityEngine;
using System.Collections;
public class fenping: MonoBehaviour {
// Use this for initialization
void Start () {
Debug.Log("displays connected: " + Display.displays.Length);
// 检查其他显示器是否可用,并激活.
if (Display.displays.Length > 1)
Display.displays[1].Activate();
if (Display.displays.Length > 2)
Display.displays[2].Activate();
}
}
//Display.displays.Length只有在发布出来后才能正确检测
第二部分:
地址:https://blog.csdn.net/liang_704959721/article/details/80880052
https://blog.csdn.net/fanglrui/article/details/74912349
首先要先设置好不同的相机来渲染不同的视角,然后在每个相机上有一个TargetDisplay,一共有8个选项,说明最多能拓展,分8个屏幕,然后每个相机选择不同的displsy,在game视图上也有相同的东西,那个是为了开发时候方便看对应的屏幕的。 最后在写一个简单的脚本就能实现两个屏幕的效果了

。下面是代码。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class DisplayScreen : MonoBehaviour {
void Awake()
{
for (int i = 0; i < Display.displays.Length; i++)
{
Display.displays[i].Activate(); Screen.SetResolution(Display.displays[i].renderingWidth, Display.displays[i].renderingHeight, true);
}
}
}
只要将这个脚本挂到gameobject上就OK了,当然,想要测试这个效果需要两个屏幕。
------------
不用删除 主 MainCamera 写上以下脚本挂上就行
private void Start()
{
//当前应用全局启用或禁用VR设备
//启用时,VR输出自动镜像到主显示场景。主显示窗口仍然受Screen窗口和相关的API控制。
//然后,这时候我们还需要在main camera中设置Target Eye把原本的Both设置为None.即可
//http://fusedvr.com/building-a-vr-asymmetrical-game-from-scratch/
UnityEngine.VR.VRSettings.showDeviceView = false;
}