標籤:
11月2日是在日本兵庫縣神戶會議中心召開的【SIGGRAPH ASIA 2015】的第一天,在遊戲開發專門的研究會【R&D in the Video Game Industry】上,展開了【FINAL FANTASY XV】的物理類比的解說會議【Physics Simulation R&D at SQUARE ENIX】。
原文西川善司
http://www.4gamer.net/games/075/G007535/20151104067/
負責演講的 Witawat Rungjiratananon(SQUARE ENIX 動畫研發工程師)
Rungjiratananon,是從東京大學加入了SQUAR ENIX的第2商務事業部,現在是SE的自研遊戲引擎Luminous Studio和FFXV的物理類比的設計和開發人員。Rungjiratananon在東京大學時以物理類比和動畫技術的專門研究為主,即便是同樣的主題,學術界和遊戲行業裡獨特和不同的部分也很多。因此這次演講,感覺也是加入從學術界跳入到遊戲業界的感想的同時,介紹FFXV開發項目中攜帶的技術,以獨特的結構展開。
學術界和遊戲產業界研究文化的不同 首先,Rungjiratananon是從學術界與遊戲產業界的【研究開發的方式】的不同方面開始話題。
學術界,是選擇要研究和解決的主題 ,在把研究結果用淪為來發表的【動機驅動】的世界。
學術界,是以目的驅動來進行研究開發的
另外一方面的遊戲業界,開發中的團隊是以想要做的表現為主題,為了實現一邊參考已有的論文一邊開發新的技術,是在遊戲和遊戲引擎中加入【成果驅動】的世界。雖然也有遊戲業界的研究成果的論文發表,但發布論文並不是目的,最終還是以在遊戲裡實現為目的的。
遊戲產業界中,是以成果驅動來進行研究開發的
Rungjiratananon提出,作為遊戲業界特有的研究開發特徵之一的,就是【美術設計師的存在】。
遊戲業界的情況是,無論開發出多麼優秀的技術,都是要有美術師來製作成果物的,如果引擎團隊開放的新技術,美術師並不方便使用的話,就無法把結果反映到遊戲裡。因此,為了可以使用開發的新技術也需要配置方便使用的UI,為了滿足美術師的要求而努力。
開發的新技術,要由美術師使用才會生效
另外,物理不正確也可以,能表現出想表現的內容就是“正義”這點,也是和學術界不同的部分。
遊戲的話,為了可以看到效果,加入欺騙或造假也是允許的,與必須是物理正確的學術研究領域想比,是非常大的差異,
對資源限制的嚴格這個問題, 在遊戲技術裡也存在。遊戲中,需要即時的運行開發的技術,CPU和GPU的演算資源,並不能全提供給這個技術使用。AI和圖形,以及其他要素要共用計算資源。總之,開發的新技術,必須要在和其他使用計算資源的遊戲要素一起運動時,也可以使用。
遊戲業界的【新技術開發】,並不要求物理的正確,而是要有說服力,看起來足夠好。
這樣聽的話,遊戲業界的新技術開發,必須在各種各樣的限制中來解決。
FFXV的布料類比和毛髮類比 接下來的話題是,FFXV中匯入的物理類比,首先,Rungjiratananon對FFXV中的【布料類比】(Cloth Simulation)進行了說明。
布料類比,是基於頂點還是基於骨骼來實現,FFXV選擇了後者
布料類比的實現方法是,通常是產生對象的布料模型(例如衣服)的低多邊形版本的模型,在頂點單位上進行類比的方法。但是在FFXV裡,為了把角色運動會翻弄布料的舉動,在犧牲一些物理正確的同時,可以按照美術師的想法來運動,採用了在布料裡加入骨骼的【基於骨骼的類比】的方法。
採用這種方法的理由,Rungjiratananon解釋是“SQUARE ENIX的美術師更習慣在3D模型裡配置骨骼”。
美術師想要運動的要素,也要預先準備好
實際的FFXV中,把物理類比的真實的結果,通過美術師以演出為主導來做Fake,取得運動平衡來表現,匯入了像【0.0:軟】,【1.0 硬】這樣的骨骼運動的控制的正規化參數。另外,也加入了把實現準備好的手工製作的動畫,與基於骨骼的物理類比的結果做合成的方法。
把類比的結果,通過美術師手動修改來取得表現平衡的結構也被匯入了
毛髮類比也是,匯入了很容易反映美術師表演意圖的結構
關於毛髮類比,實現了頭髮隨風的飄動,激烈的戰鬥動作中的擺動,這樣柔軟的毛髮運動。另外,因為也有"角色特有形象"的漂亮髮型不能破壞的“維持髮型”的要求,和布料類比一樣,實現了通過骨骼來類比毛髮的運動的結構。
毛髮是物理類比來實現真實的搖擺,角色的髮型不能崩壞。FFXV裡,也需要對應美術師方面手動調整的要求。
同時支援類比的毛髮運動和頭髮風格的維持,在毛髮上,匯入了可以靈活控制的【柔軟毛髮的約束條件】和【堅硬的毛髮的約束條件】來對應
實現了可以讓毛髮變得柔軟或堅硬的靈活的系統。
使用這個系統,當角色接近靜止狀態時,要維持頭髮風格,毛髮變得很硬,要漂亮的運動時,頭髮風格崩壞,更容易受到毛髮類比的控制。現實中的話,毛髮是根據負荷移動和風力,不用關心髮型的來運動,而遊戲的情況是要重視角色的形象,優先漂亮的毛髮運動而無視物理法則是很合理的。
根據角色的情況,變成【維持髮型的硬的頭髮】或是【搖晃的柔軟頭髮】FFXV實現的風和草木的表現 FFXV,因為是以開放世界為舞台的遊戲,【風】也是重要的表現要素。在FFXV中,通過帶有【影像範圍】【3D方向】要素的Wave函數,實現了關卡設計師可以在遊戲世界的任意場所設定吹風的結構。
FFXV XV,是看不出是程式化(Procedural)實現的風的表現為目標
【設定Wave函數】的話,美術師製作設定資料很難。最後的方法,是在引擎團隊開發了可以在關卡編輯器上繪製吹風情況的UI,提供給美術師使用。
只是設定Wave函數的話,美術師很難工作。
開發出用繪畫UI的方式讓美術師直觀的設定風參數的結構
這樣,通過這種結構實現的隨風飄動的草木,最初一看的話是有枝葉和莖的,而實際是在板型多邊形上貼了草木Texture的Billboard。
Billboard如何?了【隨風飄動】的表現?Rungjiratananon說明,是製作了用顏色的濃淡來表示【受風的影像的彎曲程度】的UI,通過視覺的來進行設定。設定的單位是頂點單位,對頂點顏色做設定。具體的,設定深色的頂點,更容易受到風的影響運動。
還有,Billboard隨風飄動時,在可以設定伸縮的上限。風到什麼強度,草木就不會伸展,設定了控制過度伸長的結構。
板型多邊形表現的草木Billboard的隨風飄動的情況和伸展控制,也可以通過繪製來設定。
還有,因為風的運動太有規則的話,看起來像作假的,在通過Wave函數產生風的強弱和方向上,匯入了增加Noise的結構,使用【不規則的Texture】來給予風的強弱。例如用【V字形狀分布濃淡的Texture】給予廣闊草原上吹風的效果。可以做出草原在V字型上隨風飄動的表現。
在Wave函數裡加入Nosie,就增加了吹風的不規則性,儘管如此,還是有不足的情況。
為了表現立體的風的強弱,用濃淡Texture來設定強弱。通過這個,可以使用Texture給予的體積形狀來讓草木隨風飄動。
回過頭來,因為草木是用Billboard來表現的,看到的枝葉也實際是板型的多邊形。雖然傾斜的飄動,板型多邊形也會傾斜搖動,但草木產生的陰影沒有變化。FFXV裡,在對受風傾斜的草木Billboard做光照時,旋轉草木Billboard的法線向量,也加入了擾動的動畫。
隨風飄動的草木陰影的複雜變化的表現,是通過法線的擾動和旋轉來實現的。
完全是Fake的手法,因為法線方向是隨著隨風搖動的來擾動的,這樣草木Billboard的光照條件每次都會變化,陰影也跟著變化。遠處看的話,枝葉是以複雜的方向變化的,是相當好的方法。
研究者看到的【遊戲業界快樂的地方】 Rungjiratananon在會議的最後,通過SQUARE ENIX中FFXV的開發,總結了【遊戲業界快樂的地方】
Rungjiratananon所認為的,遊戲業界快樂的地方 一個是在各種混合實境世界中進行開發,最新的大作遊戲,是由物理和數學,AI和光學等等,各種各種的電腦科學組合而成,作為研究主題非常的有挑戰性
另外,雖然基礎方面還是有強硬派的科學技術,但通過這種的Fake和Trick,超越現實的【作出有很高說服力的假想世界】這點,也是遊戲開發才有的魅力。
除此之外,“使用頂級美術師製作的高品位角色3D模型,進行各種技術的實驗也很有意思”,“各個領域的優秀人才,拿出各自專業領域的知識,協力同一個內容製作的過程也很有意思”等等,很熱情的講述了SQUARE ENIX中工作的快樂。
【FFXV】中物理類比的結構以及遊戲業界的樂趣