精華區beta PlayStation 關於我們 聯絡資訊
※ 引述《igarasiyui (かゆい うま)》之銘言: : 1.使用一種自行開發兩年的物理渲染器,讓物品外觀更真實 : 推 makilight: 第一個應該就是最近很夯的Physically Based Shadid Shading? 是Physically Based Rendering沒錯 在這之前則是使用特殊用途的Prime Shader Prime Shader是一個特殊的材質就寫一個shader 像是塑膠、玻璃、皮膚就各自有個shader 並且有不同組的參數供材質美術人員調整 Physically Based Rendering則是只寫一個master shader 僅提供一組統一的參數供調整,參數主要是將真實物理參數數值化 例如基底顏色、粗糙度、非勻相反光度、邊緣反射度等 如此統一的參數組合,會讓材質美術人員比較方便調整、統一思路 這個概念是由Disney於SIGGRAPH 2012所提出 詳細技術解說請見 http://blog.selfshadow.com/publications/s2012-shading-course/ Disney提出的參數好像是有10個吧(還是更多,我忘了) ND為了效能與簡單化考量,只在shader中用了其中幾個參數而已 : 4.由SONY技術團隊和頑皮狗一起研發的新背景細節層次演算法(LOD)取代了曲面細分 : (Tessellation),物體表面看起來更精細 其實LOD(level of detail)不是什麼新概念 就是近的物件用比較細緻的模型、遠的物件用比較粗糙的模型而已 兩者之間如果做瞬間切換,會有視覺上的不連續(業界稱此現象為popping) 從PSX demo中,如果仔細看的話,可以發現U4在兩個模型之間有漸進式切換 這也不是什麼新穎的花招,用的技巧叫做dithering 這個技巧源自於印刷業,僅用CMYK四種顏色,靠色點的密度不同來營造不同顏色濃度 ND使用的dither花紋是Bayer Matrix http://en.wikipedia.org/wiki/Bayer_filter 兩個細緻度不同的模型,用Bayer Matrix的花紋交替渲染 有研究過電腦圖學的人,可能就會想到也可以用alpha blending的方式做漸進式切換 這是可行的,可是alpha blending比單純的z-buffering耗效能 換句話說,半透明的物件比完全不透明的物件還要吃GPU效能 將兩個不同的模型,用非透明物件的方式渲染 然後用dithering的技巧來把兩個不透明物件的像素混在一起 會比把兩個半透明物件疊在一起渲染還要節省運算資源 : 7.一些動態事件,如老德跳向遠方並抓住把手的動作,不再是事先設定好的場景,而會 : 隨著跳躍的力道及角度進行實機運算。 PSX demo可以看出Drake的攀爬動作跟以前比起來流暢多了 這是因為一連傳的攀爬動作,不是單純把不同的動作片段拼接起來 而是在這些拼接起來的動作上,投入部分ragdoll效果 ragdoll指的是完全用物理模擬的生物骨架 最常見的用處是模擬死亡的角色落地後翻滾軟癱 在攀爬的動作上加入部分ragdoll效果之後 有部分的身體晃動是靠物理在模擬的,所以看起來比較不呆版 -- Ming-Lun "Allen" Chou Web http://AllenChou.net Twitter http://twitter.com/TheAllenChou LinkedIn http://www.linkedin.com/in/MingLunChou -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 75.84.49.95 ※ 文章網址: https://www.ptt.cc/bbs/PlayStation/M.1421733367.A.74D.html ※ 編輯: cjcat2266 (75.84.49.95), 01/20/2015 13:56:47
sunlockfire: 有個疑問 像CJ大文中說的由Disney提出的概念 01/20 13:58
※ 編輯: cjcat2266 (75.84.49.95), 01/20/2015 13:58:44
sunlockfire: 算是專利嗎?其他工作室要用需要付費嗎? 01/20 13:59
sunlockfire: 還是那只是一種類似理論 運用法看個人@@ 01/20 13:59
cjcat2266: 應該是沒有,現在業界都往PBR轉型啊 01/20 13:59
cjcat2266: 沒錯,是理論,各個工作室要自己實作 01/20 14:00
sunlockfire: 所以像之前Disney有展示冰雪奇緣的雪如何作的更真 01/20 14:01
sunlockfire: 其他工作室也可以就類似理論來實作就是了@@ 01/20 14:01
cjcat2266: 這個我不敢說死,每一個公布的技術是否有專利要去查 01/20 14:02
sunlockfire: 嗯嗯~了解XDD~ 01/20 14:02
cjcat2266: 不過就我所接觸到的遊戲界與動畫界,在公開場合展示與 01/20 14:03
cjcat2266: 說明的新技術,都是可以自由實作的 01/20 14:03
cjcat2266: 我碰過的唯一例外,是PixelJunk Shooter的GDC技術發表 01/20 14:04
cjcat2266: 說他們的水渲染效果,原本想要使用的box marching方法 01/20 14:04
cjcat2266: 有專利,所以只好自己研發其他的替代方案 01/20 14:04
igarasiyui: 推~ 01/20 14:11
akilight: 詳細的解說,推~ :) 01/20 14:12
akilight: 然後原來攀爬是在講身體晃動,難怪是用ragdoll 01/20 14:13
akilight: 我還以為只是單純的手部/足部IK那樣XD 01/20 14:13
那就順便來說一下IK和animation blending :) Drake的很多動作其實是有多重版本的,每一個版本"歪"的方向不一樣 像是跑步,就有向前跑、往左前方跑(身體往左歪)、往右前方跑(身體往右歪) 滑下斜坡,有筆直滑、往左滑(往左歪)、往右滑(往右歪) 玩家搖桿推送的方向,決定Drake轉向的角度(往左歪或往右歪) 轉向角度,決定歪的程度,又進而決定各個動作版本的權重 這個權重用來導入animation blending 多個不同的動作版本混和出來的結果,就是動作有無限種歪法 "歪身體"很重要,不然重心轉移會看起來很不自然 很多遊戲(尤其是早期)沒有用animation blending讓角色在跑步轉彎的時候"歪身體" 看起來就頗不自然,很像在飄移 animation blending的下一步,就是讓Drake的四肢安分一點 animation blending無法準確預測四肢的終點,所以誤差需要靠IK來修正 IK可以讓Drake的雙腳準確地貼在地上,雙手準確地抓在武器上 IK不是從T-pose開始就使用,不然結果會很獵奇 ND把IK當作是最後的誤差修正手段,而不是從頭計算完整全身動作的工具 [再補充] 說到animation,又有個想順便講的東西 ND的動畫師調出來的animation,直接決定角色的移動速度 而不是單純讓動畫師調出一個跑步動畫 然後由設計師把這個動畫丟入遊戲,搭配一個額外的速度參數 角色的移動速度,直接由跑步的animation資料中擷取 這樣的好處是,移動速度與角色的步伐是100%符合的 不會有角色的腳在地上飄移、滑動的情況出現 所以當角色的移動速度或者轉彎速度需要調整 不是透過設計師調整速度參數,而是要透過動畫師重新調整跑步動畫 以確保角色的步伐與移動速度100%吻合
a83a83cjcj: 專業解說推~ 01/20 14:14
kuku321: 會發到SIGGRAPH幾乎都是可以自己實作的啦 這還要版權的話 01/20 14:14
kuku321: 根本沒辦法引用來比較阿XD 01/20 14:15
kuku321: 更何況是Course 就是歡迎大家來用 一起改進的意思 01/20 14:16
sunlockfire: 原來如此@@ 01/20 14:16
kuku321: 蠻多遊戲廠都會定期分享技術阿 像2011戰神也有分享個 01/20 14:18
kuku321: Dynamic lighting in God of War 3 的light tracing技術 01/20 14:19
每年的Game Developer Conference (GDC)是遊戲業最大的技術分享活動 有興趣的人可以去GDC Vault看看,有過去技術分享的投影片和錄影(有些要錢) GDC可以認識很多業界人士,也可以找工作,每年因為參加GDC而找到工作的人非常多 敝人就是在GDC和朋友不小心撞到ND的recruiter
sthho: cjcat2266還真的出來解說了!!! 有神快拜!!!! 01/20 14:20
sthho: 旁邊的人問我為什麼跪著用鍵盤..... 01/20 14:21
tp950016: 推 01/20 14:26
asadoioru: 我們的德瑞克就拜託你們了(跪 01/20 14:44
jayemshow: 有神快拜啊 !!!!!!!!!!!!!!!!!!!!!!!! 01/20 14:48
sugizo0: 膝蓋好痛 01/20 14:54
sx4152: 專業推 01/20 15:08
zerosaviour: 推 01/20 15:16
igarasiyui: 繼續推 不然會被人發現看不懂~ 01/20 15:21
※ 編輯: cjcat2266 (75.84.49.95), 01/20/2015 15:36:07
kuninaka: 跪著鍵盤看 01/20 15:31
akilight: 是的,cjcat你說的那作法就是我之前想提的,因為最近我也 01/20 15:33
akilight: 用UE4做類似的東西,所以才往這方向想XD 01/20 15:33
akilight: 不過ragdoll的確是被我忽略,沒想到可以在這邊應用的:) 01/20 15:34
akilight: 看到你補充的那段,所以那邊是用root motion來做囉? 01/20 15:37
cjcat2266: 我不確定這個方法的名字叫做什麼... 01/20 15:37
cjcat2266: 速度資料擷取是透過animation與root node的相對移動 01/20 15:38
leonh0627: 直接承認看不懂 但還是要推 01/20 15:38
akilight: 應該是root motion,就是由角色動畫決定transformation 01/20 15:38
cjcat2266: 所以我想你說的root motion應該是指同一個東西吧 01/20 15:38
akilight: http://ppt.cc/~Gbk 應該是同一個東西沒錯XD 01/20 15:39
※ 編輯: cjcat2266 (75.84.49.95), 01/20/2015 16:02:27
BraveCattle: 快推,不然人家會知道我看不懂 01/20 17:02
soreager: 算是看得懂所以要趕快推 01/20 18:43
chiyun1994: 推!! 01/20 19:28
bake047: 太專業啦 01/20 20:01
ggBird: 還是當玩家幸福多了 01/20 20:10
wuliou: 我媽問我為什麼跪著用電腦 01/20 21:08
xc332211: 我爸問我為什麼跟媽媽都跪著看電腦 01/20 22:19
arty: 看來這次Drake的動作會有大大的進步 超期待!! 01/20 23:26
arty: 雖然Drake不是格鬥專家 不過希望近戰也能有豐富的動作演繹 01/20 23:27
arty: 特別是擊中的反饋 和動作的銜接 01/20 23:28
arty: 現今好多作品都是在看預錄好的動作 不管有沒有擊中或無視敵 01/20 23:30
yuyuliu: 神之領域 01/20 23:30
arty: 我大小 動作一律相同 像是最新的鐵拳說真的一點都沒有打擊感 01/20 23:31
igarasiyui: 上次那個實機遊玩影片有不少動作都很流暢 看了就很爽 01/20 23:35
igarasiyui: 光一段演示就很多戰鬥動作 01/20 23:36
bagacow: 看不懂的推:-) 01/20 23:55
loungebar: 推 01/21 12:31
zhuyz9695: 不推不行 01/21 15:47
dennis0608: 即使看不懂也要推 01/21 16:40
NiGHTsC: 嗯嗯,就是這樣,解釋的還可以(  ̄ c ̄)y▂▂ξ(毆飛~~ 01/22 08:27