close

オス!オラ老島民!

 

不好意思最近怠惰了所以區區後半也會難產啦...

如果有人需要全篇翻譯...我盡量w

 

講穿了上下兩篇在談的技術都很硬,感覺沒有一點基礎好像翻譯也沒用wwwwww

要補充解釋的話就不能發病,我難過

本篇是第一篇後半

所以請先看過「GUILTY GEAR Xrd -SIGN-」這篇文章謝謝

需要後篇的人先附上連結

www.4gamer.net/games/216/G021678/20140714079/

 

「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,後編

 

首先是關於前半段的插播

>レンダリング方式は一般的なForwardで,近年流行のDeferredは採用されていない。Deferredは多くの光源を扱うときに有効な手法だが,アニメ調の“2D風”では必要なかったのだろう。

渲染是使用Forward Rendering(先頂點的陰影處理,再處理畫素單位的陰影),不採用近年流行的Deferred Rendering(延期著色)

雖然延期著色處理多光源比較有效,但是2D風的仿動畫CG不太需要

 

 

>ただし,早期カリングのためのZバッファレンダリング(※Z-Prepass。深度値の先出し)は行っているそうだ。つまり,すべての3Dモデルに対してジオメトリレンダリングが最低2回は行われていることになる。さらに,キャラクターに対しては,アニメ調の輪郭線付加を行うため,追加でもう1回のジオメトリレンダリングが行われているという。このあたりは後述する。

但是,為了要達成早期カリング(保留原文,意思是不要演算到兩面的技術)要使用深度緩衝,也就是說對所有的3D模組幾何渲染至少要進行兩次

然後還要為了讓角色加上動畫風格的輪廓線所以還要加上另一次的幾何渲染,在文章後面會追述


>1シーンあたりの総テクスチャ容量は約160MB以下。1シーンあたりのシェーダプログラム総数は,頂点シェーダが60~70個程度で,ピクセルシェーダが70~80個程度となっている。

一個畫面的總紋理容量160MB以下,著色器當中頂點約有60~70個而畫素的著色器約有70~80個

 

插播完畢,來看下一段落吧

 

>ソルのズボン(=脚部)は,凹凸の与えられた複雑な形状をしているが,陰影はやはり大ざっぱにしてある。ほぼ同サイズの円筒形(=円柱)モデルを用意し,その法線をあらかじめ,ズボンモデルに転写することで,法線の調整を行っているのだ。

處理索爾的腳部陰影時,配件凹凸不平導致陰影相當複雜,所以為了讓陰影更好看會套上一個將近同尺寸的圓筒模組,再從那邊調整法線

索爾沒穿內褲先生.jpg  

 

頭髮也是同樣道理

髮線.jpg  

 

接著就是處理角色在根據視線(鏡頭)所產生的反光來進行光源製作

用說的太多術語聽不懂,用糖炒栗子比較好懂

沒鏡面反射.jpg 有鏡面反射.jpg

左邊沒鏡面反射,右邊超巨大(ry

17歲的ㄋㄟㄋㄟ.jpg  

附贈一個有反光的捏捏ヽ| ・∀・|ノ

講解光源系統的部分很硬如果有需要再翻譯囉

簡單來說就是為了各種不同的反光效果必須制定一個光源紋理素材

做了很多細部的調整

短褲.jpg  

簡單來說就是在原模組上還製作了一個光源用紋理素材圖,再與環境光源一起運算後產生是否有陰影的結果

經過配色以後就可以產生更接近動畫風格的模組了

 

接著來講背面法吧

>通常,3DモデルをGPUで描画しようとした場合,視点に対して背面側にあるポリゴンは「見えないもの」として描画対象外として破棄されてしまう。
>この仕組みは,「正面を向いているキャラクターモデルの背中側のポリゴンはどうせ視点からは見えないので描かない」という発想に基づく「背面カリング」(Backface Culling,裏面カリングともいう)と呼ばれている。
簡單來說背面法就是從鏡頭看不到模組的那一面追加輪廓線

原理就是在原本的模組下面(從畫面而言是鏡頭>本尊>黑影的順序)套上一個全黑的模組

100.jpg  

>背面法を採用したのは,アーティスト側で線描の強弱を自在に制御できる部分にメリットを感じたためです。
>GUILTY GEAR Xrd -SIGN-の3Dモデルでは,頂点カラーに「線描するときの太さ制御値」を仕込んでいて,これによって線描の強弱が付けられるようになっています。
>これで,アニメの手描き作画で見られるような
>頬のあたりは太く,顎にかけて細くなっていくというような表現が行えるんですよ。

這段意思是說,採用背面法可以讓美工們可以自由自在地調整輪廓
設定出類似筆壓的感覺,調整出粗細就可以產生像是手繪動畫一樣「臉頰輪廓較粗,到下顎漸漸變細的表現方式」

下圖是詳細的設定,以結論而言將z軸(B設定)設定進去後可以調整膨脹度(G設定相關,根據與鏡頭的距離來變換輪廓線的膨脹度)

未命名.jpg  

 

再來是本村式ライン

講解線條產生經過的原文如下

>「テクスチャの解像度に依存しない綺麗な線分」

也就是說,為了解決背面法不能完善製造出輪廓的地方,要研究一種不會因為紋理解析度失去美感的輪廓線

本村.png  

光是背面法還不足以將輪廓線全部囊括,還有在鏡頭前有起伏的部分
如果只是單純的使用既有的方式上線,當拉近鏡頭時就會出現拳四郎的哥哥傑基(ジャギ=鋸齒)

 

>ただ,隣接していても斜め上や斜め下にあったのでは,事実上,そのテクセルは単一状態に等しく,ジャギー感が出てしまう。

由於像素的最小形狀是四角形,出現鋸齒便是因為在紋理素材以斜角的方式連結在一起

簡單來說就是單獨製作一種描線設定
讓線條跳脫單純只是既有的模組接縫陰影,讓模組間產生皮膚表面肌理紋路的感覺
為了避免原本的鋸齒狀,把線條賦予的水平線與垂直線

以個人的理解而言
貼圖本身就像是塊布,而本村線除了在布上畫出一條線以外,還設定了「拉扯布料以後的線條應該是怎樣的狀況」

本村線.png  

 

關於本村線在討論中有人提出相當好的說明,為了表示敬意

在此原封不動地將文章附上,感謝島民

若有冒犯,我會馬上採取行動

因為背面法最主要是把模型膨脹(Polygon朝該poly的法線方向進行偏移)後render一次(顏色可自行設定=輪廓線顏色)
render出一個模型的陰影圖後(沒diffuse沒specular...反正先不算光影也不取樣貼圖啦)
再用正常方式render模型一次
所以對於像是在輪廓線內部的輪廓無法確實描繪出來
例如一件衣服內部的縐紋線就沒辦法(因為不過就是個平面...平面內部的細節紋理你們給我自己畫啦!)
需要美術在貼圖上去畫出
像SF4就有在人物身上用Normal貼圖去做肌肉紋理的邊線效果

不過這本村線我怎麼看都覺得是美工在傷神
要畫邊線的貼圖只能有水平和垂直線
你如果想要弄成曲線麻煩照這貼圖自己手動調整UV(請問一下你們拆UV和調整UV的時間花多久?)
說是本村線
還不如稱職人線
反正既然都是畫死在貼圖上
也不會像SF4那樣隨鏡頭視點不同
產生出不同粗細的紋理
那就線條給我弄好看一點這樣的感覺
嘛雖然說是為了合乎動畫風格的線條感才這樣做就是啦

 

 

後篇預告:

デフォルメされるジオメトリ,差し替わるジオメトリ
變形的幾何,被替換的幾何

3Dモデリングされたエフェクト群
3D模組化的效果群

セルアニメらしい動きを作り出す
リミテッドアニメーション
製作出像是賽璐璐動畫一樣的動作:有限動畫

ゲームシステムを2D格闘らしくするための工夫
讓遊戲系統像是2D格鬥遊戲的功夫

要所で効果的に用いられる
ポストエフェクト
在重點處加強效果:後期效果

 

 

 

創作者介紹
創作者 dotman1707 的頭像
dotman1707

舵をとれ!舵をとれ!

dotman1707 發表在 痞客邦 留言(1) 人氣()