會議聊天分屏

2021-10-10 16:41:54 字數 1784 閱讀 6782

主要涉及到的是camera的viewportrect屬性

乙個全屏的相機,rect值為:(0, 0, 1, 1)

螢幕座標規則

左下角為起點(0, 0)

右上角為終點(1, 1)

相機與螢幕規則基本相同

x, y 即前兩個值為螢幕位置,數值範圍均為0-1

width, height 即後兩個值為相機寬高,數值範圍同樣是0-1

乙個相機的rect數值為(0,0,1,1),即相機原點位於左下角,大小和螢幕相同,也就是全屏

需求是多個相機同時存在,左側乙個大的,右側豎直排列剩餘小相機,然後上半部分和右側部分需要留出空餘顯示其他ui

首先,建立五個相機,為了便於區分,在其下建立canvas,每個相機對應乙個canvas

開始編碼:

我想要實現大部分分屏情況,例如:水平排列、豎直排列、固定行數或列數、一大一小、一大多小

其中一大多小,就是這次需要的顯示方式

先寫了乙個基類:

using system.collections.generic;

using unityengine;

public class camerasortbase

/// /// 設定相機

///

public virtual void setcameras(listcameras)

/// /// 修正相機座標及大小

///

/// 座標x

/// 座標y

/// 寬

/// 高

protected void correction(ref float x, ref float y, ref float width, ref float height)

}

一共實現了七種排列方式

由於需要留空白部分顯示其他ui,新增了引數

用來控制所有相機佔位的總和:

mscalex 佔位寬度

mscaley 佔位高度

mposx 佔位起點x

mposy 佔位起點y

數值範圍均為0-1

只需要在設定相機rect值前呼叫修正方法correction即可

空白部分ui做了簡單的適配:

高度固定為1080

寬度計算後獲得:

這裡是設定上方空白部分和右側空白部分大小的方法

效果圖:

提取碼:lftx

雲會議,會議雲,雲聊天

雲會議的概念 在雲會議時代,使用者僅需要通過終端登入 會議雲 即可進行雲會議,無需購置裝置 配置網路環境等,這一切繁瑣的工作都交由廠商在雲端來完成。雲會議的好處 1 減少會議的時間 地點限制,及時溝通交流。2 減少差旅 硬體設施的開支。3 客戶只需簡單操作即可,無需了解技術方面的內容。4 會議所需的...