【翻譯】《Final Fantasy GrandMasters》開發團隊透過實例說明如何縮減容量與開發成本

4249518505704bad464b1f0026 | 吹著魔笛的浮士德
日本國內最大的 Unity 公式活動「Unite 2016 Tokyo」於 2016 年 4 月 4 日至 5 日間舉辦,今年活動開幕第一場主題係由『ファイナルファンタジーグランドマスターズ(Final Fantasy GrandMasters)』團隊來分享,主題為:
 
「《Final Fantasy GrandMasters》在介接 Maya 與 Unity 時所用的各種最佳化工具,及透過實例說明如何縮減容量與開發成本」
許多程式相關的專有名詞,我查了字典仍然不是很清楚,為免誤譯,直接以英文原字表現了,也承蒙各位朋友指教,請務必留言指導我本篇內容該如何修正,以茲學習。
本文所有圖片來源:Social Game Info
Advertisement

【講師陣容】

16892245045704bad4b6af80026 | 吹著魔笛的浮士德

 
◎SQUAREENIX  渕上貴史
◎Crooz  野澤圭介 

★關於ファイナルファンタジーグランドマスターズ

11692225195704c0f5bfabe0026 | 吹著魔笛的浮士德

《ファイナルファンタジーグランドマスターズ(Final Fantasy Grand Masters 以下皆以原名表示)》係基於 FFXI 世界觀延伸的手機平台 MMORPG,本作登場的 3D 背景與角色,都是由 Crooz 公司開發,並非沿用線上遊戲版的模組。

★技術支援工程師(技術美術)
 
為了讓規劃者與技術間能夠順暢地溝通,團隊間設置了「Technical Artist(技術美術)」的職務,主要負責以下工作內容:
 
. 負責 Maya 與 DCC 工具的功能擴充,開發能提升工作效率的工具
. 建構 Work Flow 與 Pipeline,開發 Shader 相關項目
. 前期驗證、開發新世代技術
. 作為工程師與規劃者之間的橋樑
. 負載分析、調整描畫效能

★《ファイナルファンタジーグランドマスターズ》之 Maya 與 Unity 的介接

本次演講共有三個主軸

 
①Work Flow & Pipeline
②透過 QC 工具來削減成本
③圖形效能的最佳化
①Work Flow & Pipeline
下面這張簡報說明了 Maya 與 Unity 之間的橋接過程及內容
12215944425704bad500aaf0026 | 吹著魔笛的浮士德

▲Crooz 在美術方面的工作流程,係先透過 Photoshop 製作材質後再透過 OPTPiX 做減色與最佳化。

譯註:

Maya – Modeling & Motion / Player / Monster / 背景 / Effect
Simplygon – 依場景適當地 Reduction.
Photoshop – 各種材質
OPTPix – 減色與最佳化(Alpha Channel)
Exporter Plugin – 提供 fbx 的資訊
Unity 嵌入 – Import 設定 / 素材設定 / 材質壓縮設定 / Shader Attach / Scrit Attach / Controller / Camera 控制

下圖則是演示善用 Simplygon 在各個場景調整 Polygon 數量,左邊是戰鬥場景,因為顯示的角色與怪物數量較少,所以可以適當地提升 Polygon 數量,而在右邊的原野場景,因為一次要顯示 20 隻角色,所以必須減少 Polygon 數。

10975160725704bad5660fc0026 | 吹著魔笛的浮士德
而為了縮減容量,在背景與原野設計上也下了各種工夫。

1950236785704bad5d09ec0026 | 吹著魔笛的浮士德
▲可以看見一樣的場景,但戰鬥時的背景與原野背景差異相當大,在戰鬥背景中盡可能做的逼真,讓玩家感受到以往《Final Fantasy》系列的風格,而原野背景則盡可能縮減內容。
角色的骨架是用 Maya 專用插件「AdvancedSkeleton」製作的。野澤提到:「首先最大的魅力就是可以免費使用,再者就是很簡單就可以拉出骨架,節省很多開發時間。」

20357970435704bad647eb60026 | 吹著魔笛的浮士德
▲透過該工具,只要決定骨頭的位置,就會自動作成骨架。
接著介紹了「Maya Custom FBX 插件」,並說明透過插件將 Maya 製作的 FBX Material Animation 匯入 Unity 的過程。本作在戰鬥中的特效雖然使用了 Partical System ,但當時 Shuriken 並不適用於尺寸不同的怪物之間,最後使用 Maya 來製作。

18736848975704bad6e511b0026 | 吹著魔笛的浮士德
▲野澤氏認為遊戲中的特效演出相當多,Maya 在做這些細微調整的時候,效率相當好。

為了將 Maya 製作的動畫匯進 Unity ,製作了「Maya FBX Export 擴充插件」,接著製作「Unity Custom Importer」,如此一來就能將顏色、Alpha、Contrast、UV Offset、UV Scale、UV迴轉等訊息簡易的寫入。

本作中,玩家資料含有大量的元件資訊,目前大約由 2000 個元件所構成的,如果一個一個匯入的話,會耗費許多工作時間。

20332259515704bad75b7120026 | 吹著魔笛的浮士德
▲創角色用到的元件。
10452651975704bad7b700d0026 | 吹著魔笛的浮士德
▲頭髮分為前、中、後與鬍子四區塊,避免與各種形狀的防具產生衝突。

而他們一樣透過插件來解決這樣的困擾 。

②透過 QC 工具來削減成本
如前所述,極大量的元件與動畫,光是在檢查就要耗掉諸多人力與時間,所以也開發了一些工具來協助測試團隊。
16283386245704bad823e7a0026 | 吹著魔笛的浮士德
▲在 Unity 上檢視角色所有種族都用一樣的素體,再透過 Unity 的 Bone Scale 值調整。
10754825295704bb66734c20026 | 吹著魔笛的浮士德
▲透過「Player Viewer」,設計師可以在 Unity 上確認各元件是否有衝突或錯誤。一目瞭然的檢查方式,縮減了許多 QC 團隊的工作量。
18485023235704bb66c22200026 | 吹著魔笛的浮士德
▲遊戲中實裝了 150 種怪物,他們製成了「Monster & Effect Viewer」,一樣為了增進檢查的速度。
 
15567948885704bb6718b860026 | 吹著魔笛的浮士德
▲「Map Viewer」可以與「Player Viewer」及「Monster Viewer」兼用,能快速確認怪物配置在背景上的情況。
 
另一方面,他們介紹了將 FBX 資料自動 Prefab 化的 Batching 工具,以下圖為例,原本需要花一週時間處理的檔案,透過工具,只要三小時就完成了。

19334387475704bb67a8cf80026 | 吹著魔笛的浮士德
▲搭載了「Prefab Creator」、「Prefab Updater」、「Asset Renaming」三種功能。

16752059585704bb681721e0026 | 吹著魔笛的浮士德
▲「FBX Version 工具」 – 自動檢查工具,減少錯誤。
 
③圖形效能的最佳化
最後,野澤分享了可在跨平台(iOS & Android)、各階機種(高端到低端)順暢運作且保有視覺效果的 Custome Shader,分享完以下簡報後,結束這次的講座。
《ファイナルファンタジーグランドマスターズ》上架時的對應機種
◎對應 OS
Android 4.0 以上、iOS 7.1以上
◎對應機種
Android 約 160 種、iPhone 5 以上

3199548545704bb688555c0026 | 吹著魔笛的浮士德
▲用於怪物被討伐消滅後的 Alpha Fade。本作為了縮減容量,在怪物用的材質中,並沒有 Alpha 資訊,所以透過這個 Shader 來執行。


17682087125704bb68d71340026 | 吹著魔笛的浮士德
▲降臨魔物被消滅時用的是「Pattern Dissolve Fade」。這是為了實現紅白機時期系列作怪物被擊倒後慢慢ˋ消失的特效而製作的。

17257578745704bb69387f90026 | 吹著魔笛的浮士德
▲因應創角需求所做的專用 Shader,透過「Pattern Dissolve Face」管理創造角色時所用的肌膚顏色。
5494521195704bb69980660026 | 吹著魔笛的浮士德
▲設定 Suface 與 SubSurface 的顏色,呈現自然的色調。
6265469135704bb6a30f4a0026 | 吹著魔笛的浮士德
▲「Crystal Shader」,用以達到 
Specular lighting 水晶效果。

10311257385704bb6a9d89b0026 | 吹著魔笛的浮士德
▲「Texture Scrol」,用以表現無縫材質貼圖及流動的背景表現。

 

 點一下追蹤 IG 與吹著魔笛的浮士德粉絲團 🙏

追蹤 Instagram👍https://lihi3.cc/vlzV5

↓追蹤 Facebook 專頁↓