在項(xiàng)目實(shí)踐中遇到多屏幕展示需求 ,我們可以通過(guò)
新建 scence ,新建 camera
給camera 的 targetDisplay 選擇 為 display2 其中默認(rèn)為display1 (如圖)

然后在初始化中添加開(kāi)啟代碼
//循環(huán)遍歷存在的所有屏幕
for (int i = 0; i < Display.displays.Length; i++)
{
//開(kāi)啟存在的屏幕顯示,激活顯示器
Display.displays[i].Activate();
Screen.SetResolution(Display.displays[i].renderingWidth, Display.displays[i].renderingHeight, true);
}
到現(xiàn)在在場(chǎng)景中添加新的 game視圖

然后選擇display2 ,當(dāng)前即為剛剛新建camea 的視圖 ,可以新建cude 等測(cè)試
關(guān)于添加UI部分
新建canvas ,在canvas中選擇 targetDisplay2 ,那么當(dāng)前的 canvas 的渲染在 剛剛新建camera 的 屏幕2 上

然后 多個(gè)canvas 的渲染先后 由 sortorder 來(lái)決定 所以可以通過(guò)設(shè)置sortorder來(lái)進(jìn)行 ui互動(dòng)
unity 現(xiàn)在支持同時(shí)8屏幕顯示
關(guān)于其中一些坑點(diǎn)
如果代碼開(kāi)啟多屏幕的情況下是 關(guān)閉不了的 ,就好比你有多個(gè)場(chǎng)景 ,只有這一個(gè)場(chǎng)景需要多屏幕,其他場(chǎng)景 不需要,那不好意思,只要一旦開(kāi)啟就不能關(guān)閉
多個(gè)camera 處理的時(shí)候 多重渲染 場(chǎng)景 ,會(huì)增加負(fù)擔(dān)
鼠標(biāo),ui 事件 的處理 主要是 canvas 的渲染順序 等
多屏幕識(shí)別 (當(dāng)前鼠標(biāo)在哪個(gè)屏幕活躍)
int number = (int)Mathf.Floor(Mathf.Abs(Input.mousePosition.x) / (float)SceneWidth);
僅在多個(gè)屏幕分別率一樣的情況下適用 ,SceneWidth 為屏幕分別率Screen.width ,打包適用
(可以用于自動(dòng)識(shí)別屏幕幾來(lái)開(kāi)啟當(dāng)前屏幕對(duì)應(yīng)的UI事件等)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-785715.html
??其他待開(kāi)發(fā)中 ,有大佬有更好的方法求留下一起討論下文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-785715.html
到了這里,關(guān)于unity 雙屏,多屏幕顯示的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!