top of page

【Gamystery】EP9 | 判斷使用PCG的四個要點

前言


研究了一段時間的PCG後,我想再次了解「利用PCG取代傳統場景擺設」的可行性。於是,我決定嘗試利用PCG重建Gothic Cathedral Asset Pack範例場景中出現的教堂。主要目的是想了解新舊做法上的優劣差異,以及現行存在的問題。在文章中分享了這個過程,最後提供了我個人對於四點判斷新任務是否適合導入PCG的問題。


這是PCG系列的最後一篇了,之後預計朝VR的方向研究。網路上的資源很多,有些整理的甚至更清楚,碎片化散落在各個地方。之後文章主會以,統整資源與補充被忽略的小細節為主。



PCG 重建歐式教堂

範例教堂

先將展示案例中的模型,獨立出來。



由於物件的數量非常多,從外觀上可以觀察到,不斷重複出現的樣式。

最終整理出五樣個樣板, 依序名為:

  1. No Door

  2. Side Door

  3. Goalpost

  4. Front Door

  5. Corner

主要根據門或功能的不同區分,其中Corner從範例獨後,有因PCG本身的限制有在做些修改( 新增一個牆面 )。



想法一 - Voulmn Base

利用Volume的大小控制建築物的尺寸,當Volume越大,增加的是物件的數量。

與一般的縮放(Scale)不同,縮放會改變原本的整體比例。



開始嘗試之後,發現了兩個主要問題:PCG Point的過濾和間隔。我的第一步是對空間進行取樣(Volume Sampler)。



在空間布滿點(Point Data)後,過濾掉與主題毫不相關的區域。

我的選擇是利用一個Volume當作我完全不需要的區域。



最終,在盡可能調整相關參數後,整體雖然與原來相同,仍然隱藏不少問題,例如底邊素材的轉向、物件過於重疊等等。


朝向問題 & 間隔問題

想法二 - Spline Base

控制方式改以Spline為主,來調整教堂的外型。

主要的好處是Spline的節點本身具有方向性,能解決前一個想法中底部物件方向不一致的錯誤。


我設計了五個控制點,把別代表正門、兩個轉角處、兩個側門。

在PCG 裡要特別標記某一個節點非常麻煩且困難的,取決於是否存在特定規律、還必須同時具備夠多的屬性。

最快的方法就是新增控制點處理,好處是快速、壞處是降低了整體的連動性。

以此案例來說,當Spline調整時,正門的控制點也必須一同調整。

最壞狀況就需要調整6次( 1 Spline + 5 ControlPoint )。



最終,撇除地板、樓梯.... 等沒有用到的元素,外觀大致有87%像。在細節上要做到工整、對齊真的不太容易。整個過程,大概花了5~6個小時,包含重複組合手上有的工具與知識,從中找到可行的執行方式、尋找設定是否錯誤( 經常照教學做,但結果就是不一樣 )。


最終檔案 ( 主要是5個樣板與對應的PCG Setting )


教堂
PCG Church

結論

個人認為教堂的案例,極度不適合使用。理論上,我相信存在調整PCG Graph的邏輯,達到更好的效果的空間。實務上,需要的投入門檻與獲得的效益不高。

以現有的操作方式、可用的邏輯來說,指線上升,尤其到節點的資料操作上,開始反人類直覺,並不是很友善。


判斷使用PCG的四個要點:

如果新收到一個任務,我透過以下四點,評估是否要使用PCG:

  1. 任務是存在大量、重複的重複要素

  2. 這些要素不要求非常精確

  3. 未來變動的可能性

  4. 經常需要類似的內容


自然環境( 森林、濕地... ),確實都滿足上述條件。四個問題並非缺一不可,目的在於判斷與PCG特點的相性如何。



如果你喜歡這次的內容,歡迎到Facebook粉絲團,給我們點個讚,表達對內容的支持喔!

粉專會不定期分享在學習Unreal Engine,有重大幫助的資源。




bottom of page