https://unity3d.com/cn/learn/tutorials/topics/best-practices/fundamentals-unity-ui?playlist=30089
理解組成Unity UI系統(tǒng)的各個(gè)部分很重要。一些基礎(chǔ)的類和組件一起組成了這個(gè)系統(tǒng)。這一章節(jié)介紹一些的這系列文章所用到的術(shù)語(yǔ),然后討論一些Unity UI 關(guān)鍵系統(tǒng)的底層行為。
術(shù)語(yǔ)
Canvas是Unity的一個(gè)內(nèi)部組件(native-code Unity Component)。由Unity渲染系統(tǒng)使用,可以提供將在游戲世界空間中繪制的分層幾何圖形。
Canvas負(fù)責(zé)把它們上面幾何體合并成批次,生成合適的渲染指令,發(fā)送給Unity的圖像系統(tǒng)。所有這些都是Unity 本地C++代碼實(shí)現(xiàn)的,被稱作rebatch 或者 batch build。當(dāng)一個(gè)Canvas被標(biāo)記為包含需要被rebatch的幾何圖形,那這個(gè)Canvas被認(rèn)為dirty。
幾何圖形通過 Canvas Render 組件傳遞給Canvas。
一個(gè) Sub-canvas 是一個(gè)嵌套在另一個(gè)Canvas下的Canvas。Sub-canvas 是它的子級(jí)和它們的父級(jí)隔離:一個(gè)dirty的子級(jí)不會(huì)強(qiáng)制它的父級(jí)去重新生成幾何圖形,反之亦然。(一個(gè)canvas是一個(gè)重繪單位)[1]