大家一起聽著音樂看文章吧
美好的週末又來了
在比基尼海灘上又響起了熟悉的聲音
“ 派!! 大 !!星!!!”
奧 ,抱歉 !播錯節目了
歡迎大家來到
「遊戲開發小科普」第六期節目
叮咚 ~ 叮咚 ———
“ 小傻瓜 ,起床咯 ! 今天去逛街吧 ”
系統提示: 請選擇你的今日女朋友 ~
系統提示: 正在分配您的女朋友 — 請稍候
“ 分配成功 ,獲得女朋友 x 1 ”
Press any key continue ~~
別打我啊喂!
扔雞蛋的什麼意思啊喂!
怎麼還有扔“你是好人,我們不適合”
的好人卡啊喂!
鼻青臉腫的系統溫馨提示:
“ 恭喜你,獲得優質女朋友 x 1 ”
正在載入逛街地圖 — 請稍候
怎麼在Csgo A大逛街啊喂 ?
加載錯了吧,啊喂
也不是在召喚師峽谷!正經點啊喂 !
卡特真的好美啊! 我要死了 !
也不是在 戴夫家裡做客 !啊喂 !
正在載入街景 —— 請稍候 !
“ 哇!這家的衣服都好好看啊 ”
“ 我們進去看看吧 ”
你滿臉的開心響亮的回答著:“ 好!”
但是內心小聲嘀咕著:“唉 一天又要沒有了”
等等 !突然出現了強烈的死亡氣息 !
系統提示:
具有生命危險 !危險指數 ⭐️⭐️⭐️⭐️⭐️
你趕忙打趣的大喊到:“ 逛街大作戰開始!”
系統提示: 恭喜你成功逃脫危險 !
女朋友非常開心的挑選衣服
在鏡子面前比對著
時不時的問你:“這件怎麼樣啊?”
你一邊回覆著真好看
一邊看著小黑盒的「遊戲開發小科普」津津樂道
“ 我穿這件衣服好看嗎?”
你已經聽到無數次這句的死亡問題了
你知道總是不走心的說著 “ 好看 ”
終究會逃不過 — 正義鐵拳
你看著手機 ,順口回答道: “這件一般吧 ”
“ 認真系列 — 必殺技認真一拳 !”
砰 ————
好 — 好疼 !!
“ 老孃穿的是泳衣!
你意思是我身材也一般咯 ? ”
“ 啊 啊 啊 !那怎麼會呢 !你穿著泳衣
有一種天生麗質貌美如花的美
有一種輕靈之氣肌膚嬌嫩悠然的氣息!
有一種英語四級426的快樂!
有一種海底撈雙椒牛肉半價的幸福!
有一種4090Ti顯卡遊玩遊戲的流暢!
有一種大學高等數學60分的幸運!
先看看在現實中,人物的穿著效果吧!
在遊戲的世界裡 ,人物穿著各種好看的衣服
比如:
那麼我們一起來探索
「遊戲開發小科普之服飾的秘密」
溫馨提示:
此區域內容你會閱讀的 很輕鬆有趣
很多的3A 遊戲
已經接近做到了接近現實的服裝效果 .
遊戲中與現實模式幾乎相似
首先有請我們的 小黑同學
小黑同學目前是並沒有穿衣服
問我為什麼不選擇女生的同學!
過分為了啊喂!
會被抓去小黑屋的啊喂!
如上一期所說的 , 人物是一個膠囊
裡邊緊緊的裹著一層骨骼
而所謂的 “材質Material” 就是他的皮膚
想起來上一期的藍精靈小姐姐了嗎?
這就是他最基本的模型
也稱為 骨骼網絡體資產
注意看到他胸前的“ 奧特曼能量燈”了嗎 ?
這並不是服飾 , 而是材質(皮膚)
也可以理解為皮膚
在想象一下英雄聯盟的卡莎
抱歉 ! 又放錯了哦!(手動狗頭保命)
那麼你已經知道了這個
讓我們的目光來轉移到小姐姐身上吧
如你所見到的
小姐姐白嫩嫩的皮膚!
讓我不禁想起來我逝去青春!
我在青春下的奔跑!
察覺到你有想跑的意思!
趕緊奉上一張美圖
給我認真學完啊喂 !
這是小姐姐的皮膚
咳咳咳!
正經一點!那麼你肯定猜到了
讓我們來看看小姐姐的皮膚是怎麼樣的吧 ?
小姐姐的皮膚是這樣的(材質球)
這是無光照下, 小姐姐的樣子!
對,你注意到了!
為什麼頭髮依舊為黑色?
留個伏筆 , 可以期待下一期小科普哦!
這裡可以簡單的解釋一下:
因為頭髮也可以是一個材質
恭喜你 !對於遊戲中的身體已經瞭解
那麼讓我們來看一看服飾吧
如你所看到的 , 服飾擁有很多
上衣,裙子,鞋子,襪子等等
誰打的馬賽克啊!
真的很想打他啊喂!
那麼他們在遊戲世界中 - 遊戲引擎角度 是怎麼樣的呢?
我可以告訴你普遍的分為兩種 :
第一種 - 代表作 : 荒野大鏢客2
因為屬於小科普
沒辦法完全正確的闡述
在這裡做基本的瞭解
這些服飾就是 “活生生的物體” , 也像是膠囊一樣(和人體模型一致)
為什麼要這樣呢?
因為這樣服裝也可以做到真實感的褶皺,浸溼等效果 .
那麼如果和人物保持吻合呢?
哈哈哈,比如鞋子可真的在遊戲裡沒法繫鞋帶讓他吻合啊.
而是通過佈置很多的點
通過實時的計算與人物的所需要保持的位置
當然這樣的方式使用的地方非常的少
使用了也是為了保證局部性的最真實效果
第二種 - 最常見最通用的方式
有玩過輻射4 ,老滾5的 MOD 嗎?
如果有的話你更容易理解
那就是將衣服擺放好位置 , 與人物的身體正好吻合緊貼著.
然後覆蓋到人物的身上, 來看看效果圖就明白了
衣服單獨的組裝在一起 .
將衣服與人物的位置進行重疊
這樣也可以根據位置針對物體做相關的計算
或者更換衣服 .
在這裡再強調一下
上面是站在引擎開發角度考慮
在遊戲開發中 ,
大部分還是在建模師給出人體模型的時候
直接在建模軟件上就帶有這樣服飾
那麼衣服又是什麼呢 ?
其實他一點也不神秘
他和人物模型是一模一樣的東西 ( 骨骼網絡體資產 )
就這樣我們可以製作出不同衣服的小姐姐了
本期內容就到此結束
那麼敬請下一期「遊戲開發小科普」 !
我們不見不散 !
悄咪咪 : 其實底下還有內容
———
上一期科普導航 :
[遊戲開發小科普-5]小姐姐腿有我的好看嗎?
上一期科普收入捐贈:
額外解釋一下 - 以後就不再提了
目前屬於一級作者,收益為H幣
對於我來說沒什麼用處,所以一定比例轉化為現金捐贈
後續收益為 <可提現金額> 則全部捐出
—————等一下 —————
還沒有結束 !
以下內容逐漸硬核!
請選擇性收看 !
請選擇性收看 !
請選擇性收看 !
繫好安全帶 ! 出發咯 !
溫馨提示:此區域內容適合
1. 認真看過 本章內容 與 [遊戲開發小科普-5]
2. 對本文章感興趣 , 想要繼續瞭解一下
在遊戲引擎與3D建模軟件的視野裡是這樣的
稱之為: 線框
可以理解就像拿著筆刷繪製出來的立體圖
可以更加清晰的看出來建模出的內容是否對齊等
那麼來看看人物穿著衣服的樣子是怎麼樣的 .
很明顯的看得出來兩者(衣服與人體)
屬於重疊在一起的線條 .
別忘啦,我們前面
一直在強調人物的皮膚顏色
一直提到的所謂的 材質
那麼當我們去掉所謂的材質之後呢 , 那就真的只剩下 “模型”了
有時候 , 為了更容易的適配衣服
也會將人物模型拆開的(可以理解為積木一樣)
拆開是為了什麼知道嗎?
嘻嘻,可以稍微的想一下
倒數 5 , 4 , 3, 2 , 1 --
為了更節省資源 , 比如
如果衣服是全部包裹的 , 是不是可以不需要人物的身體了
如果穿的是絲襪 , 那麼是不是可以並不需要腿部了呢
讓我們繼續深入一下吧 !
溫馨提示:
此區域內容硬核
材質是什麼 ?是 Material !
都知道啊喂! 能不能別抖機靈啊喂 !
材質就是讓模型的表現更加的生動
我們以這個裙子舉例
逐步看一下這個材質是怎麼形成的吧
先看一下裙子的模型(沒有加入材質的效果)
這裡是通過遊戲引擎渲染出的材質球. 也就是我們一直提到的 材質Material
首先,觀察裙子樣子
這裡使用的紋理 , 一個是金色的折射 , 一個是裙子的磨砂感
左邊的圖是 為了渲染裙子更真實的效果
右邊的圖是 裙子本身的紋理 , 也就理解為 你所看到的樣式
那麼左邊的這個 RGB 是幹嘛的呢 ?
裙子的粗糙貼圖(上圖中的 左- R通道 )
是為了讓粗糙度增加後更加逼真
世界上並不存在絕對光滑的物體
所以注意到了裙子上的粗糙的白點了嗎?
那麼R底下的G通道被稱為: 高亮貼圖
其實這裡的G就是為了增強上面提到的R通道的質感.
那麼 R, G 底下的B是什麼呢 ?
為什麼不連接呢?
B是金屬貼圖通道 .
裙子嘛,並不需要什麼金屬質感
好了 , 好了
讓我們離開一下游戲引擎
步入圖形學的世界去看看吧
在遊戲引擎的視野下
在模型上 , 之前很容易出現的自陰影的瑕疵
顧名思義
就是在光照下,陰影褶皺部位會產生小點點
圖中看不到,是因為遊戲引擎已經避免了這個問題
什麼情況呢 ?
其實就是所謂的 精度問題引起的
比如舉個例子軟件開發中,當int數值過大時候,就會報告溢出
一個像素的對應深度值為24 位
深度緩衝區會帶有一個模板緩存區
這個區域像素保存為8位信息 .
所以每一個像素需要32位緩衝區數值
而在新的CPU中 , 產生了浮點深度緩衝區
所以導致這些區域對應的深度值是不同的.
那麼會造成什麼影響呢 ?
那就是假設從光源方向傾斜的角度渲染一個表面時候.
在同一個小領域中的像素對應陰影圖中的相同的深度值
一些像素被繪製成了陰影而一些並沒有
注意到了嗎 ,其實紫色圓圈的地方在光的背面
並沒有出現所謂的斑點,這是因為現代引擎都已經避免了這個問題
那麼這個圖不清晰的話,我們使用一個模擬圖吧
因為深度緩衝區有限精度會導致陰影瑕疵
所以深度值只能為一個整數, 也就是說與光線沒有垂直的表面就會忽隱忽現
所以給增加一個偏移值, 也就是比原來更深入一些 . 也就是把投射表面整體的相對向下移動
OpenGl 中glPolygonOffset()函數計算每個像素時候
根據表面在相機空間的斜率進行深度偏移就好了
glEnable( GL_POLYGEN_OFFSET_FI LL) // 開啟
glPolygonOffset( 1.0F , 1.0F ) // 偏移
這是一個動態的計算
因為人物運動 , 相對的光線也在運動
注意這裡的相對
看到這裡也是辛苦了!
那就用一張小姐姐圖來結束今天的旅程吧!
期待下一期吧 !