看板 GameDesign 關於我們 聯絡資訊
上一篇談了一下BP,這邊就來講一下UE4一個很棒的內建功能: Behavior Tree(BT,行為樹) 一個簡單的行為樹長這樣: http://i.imgur.com/qhQz7Zo.png
在ue4裡面,行為樹由幾個部分組成 behavior Tree:行為樹本體,就是上面看到的那張圖 blackboard:儲存資料用 node:行為樹的節點,節點可以是流程控制(例如selector、sequence),或是action( behavior task,執行動作) 節點上面還可以掛上decoactor來控制是否執行 在Unity裡面,想要使用BT的話,就必須花錢買套件,或是自己花時間寫。 UE4則是都幫你準備好了,無論是BT本身,配套的元件,圖像化編輯器。 只要搭配自訂的BT task、BT decorator,可以很輕鬆的寫出一套好用、好維護、好擴充 的AI行為,或是拿來當作流程控制使用也是可以的。 BT的優點: +彈性高、可自定義task、decorator內容 +功能齊全 BT的缺點: -沒用過的人會需要花一些時間學習 -需要特別注意各種條件下的update、開始、結束時機的事件設計(其實也不太算缺點, 只是在設計上需要多花一些心思去考慮) 在場景的部分,UE4提供了同步的場景讀取,以及非同步的串流讀取。後者必須先將需要 串流的場景掛在主場景之下。這個部分的好處是可以將大場景切分成小塊,對於協作編輯 來說會比較方便,以及可以透過串流來調整遊戲的負載、效能。 不過不管是串流、切換讀取,多多少少都還是會因為IO而造成卡頓的現象。在一般遊戲中 這個影響是不太大,不過假如有需要做VR的就需要特別注意這點。因為卡頓的時候會造成 畫面停頓,這時玩家移動頭部的話就會因為畫面跟不上、跳動等而造成嚴重的暈眩現象。 至於要如何解決這問題,只能說目前沒有好的解法,需要在設計上直接去避免讀取過多, 比較常見的方法就是直接把整塊畫面弄黑,等讀取完以後再恢復,避免玩家看到卡頓的畫 面而頭暈。 UE4場景編輯的優點: +方便拆分 +操作上較為直覺,可以透過alt+滑鼠拖曳直接複製場景物件(unity需要手動ctrl+d,然 後再拉開),以及其他零碎的方便小功能 +顯示模式多樣 UE4場景編輯的缺點: -lightmap彈性低 -讀取問題需要注意 -需要大量搬移物件時不太好操作 -無法像Unity那樣在場景中隨性的堆階層式的Gameobject,UE4這方面限制較多 -靜態光源最多只能重疊四盞,超過就會被強制切成動態光 (效能問題,shadow map只能存四個光源,所以場景編輯上要注意) 這篇就先講到這。 剩下的就是美術相關功能的心得,會在下一篇講完。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.12.120 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1451556606.A.C9B.html ※ 編輯: akilight (114.34.12.120), 12/31/2015 18:31:39 ※ 編輯: akilight (114.34.12.120), 12/31/2015 18:59:38 ※ 編輯: akilight (114.34.12.120), 12/31/2015 19:03:18 ※ 編輯: akilight (114.34.12.120), 12/31/2015 19:50:59
ADF: loading會卡的原因 是因為你background load 的時候 01/01 01:07
ADF: static load 由於UE4的奇怪機制 會把main thread lock住等BG 01/01 01:09
ADF: load完 01/01 01:09