Unity3D- Layout Group

[目的]
在Unity中,遇到排列式的編排,除了用土法煉鋼一個排列的方法,再進行均分對齊外,還有何方式可以加速排列。

[方式]
首先先概念了解:
Layout Group是需由父物件與子物件的及合組成,且 Layout Group 是不會改變父物件的大小,而主要是控制裡面的子物件大小與位置,依照每個元素minimum、preferred、flexible來當作區分大小分配適當空間的依據。

Layout Group 之中有分 水平、垂直、格狀3種,以下會先以 Vertical Layout Group 為主要介紹。

主要步驟
1.新增一個 Canvas 下新增空物件,做為 Layout Controllers則為父物件。
位於上方工具列中Unity Menu Item → GameObject → UI → Canvas

2於父物件上增加 Vertical Layout Group Component
位於上方工具列中 Unity Menu Item → Component → Layout → Vertical Layout Group

3. 在父物件下建立5個 Button元素作為子物件,完成後就可以看到當大小改變時, 子物件會自動分配物件間的大小間距。

4. 在父物件上加上 Vertical Layout Group ,透過組物件可以調整子物件之間的關係位置其中參數有:

  • Padding主要是關於填充內部空間。
  • Spacing每個元素之間的間距。
  • Child Alignment關於子物件對齊位置。
  • Child Force Expand強制控制子物件填滿空間。

5.這邊要特別說明,點選子物件button時, Rect Transform Component 一些參數就不能進行調整,這是因為已經透過 Vertical Layout Group 進行空間分配,並在 Rect Transform 會顯示目前被哪個 Layout Group 控制 ,只要直接繼續複製子物件,子物件會平均分配進行排佈。

透過組件進行排版,可以節省掉許多原本需要手動調整的部分,只要了解父子物件的關係,及對於其中參數設定與排版的影響,是個還蠻快速的編排方式。
參考資料:https://www.youtube.com/watch?v=RWcwEAILOCA

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *