看板 GameDesign 關於我們 聯絡資訊
有些遊戲為求真實 除了打擊後人物會噴濺血液外 身上也會沾上血跡 打頭 頭會沾血 打胸 胸會沾血 這種技術 是怎麼做出來的? ----- Sent from JPTT on my Sony F8332. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.138.121 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1546742281.A.F56.html
gino0717: 多疊一層只有血漬的material上去吧 我猜 01/06 11:38
damody: 動態改變材質 01/06 13:08
這種技術有什麼術語嗎 ※ 編輯: teeheehee (180.204.163.135), 01/06/2019 13:36:08
nickchu35: 通常應該是用一個 decal texture 加上去吧 01/06 14:31
kuma660224: 做法很多種. 看是動態還是靜態指定部位 01/06 16:20
動態的 ※ 編輯: teeheehee (1.162.138.121), 01/06/2019 17:12:01
cjcat2266: 血漬、濕度等,可用另外一個texture channel在原本的 01/07 02:26
cjcat2266: 材質和血漬/濕度材質之間混色。以命中點算出UV座標之 01/07 02:26
cjcat2266: 後,用texture-space decal的方式修改該該額外texture 01/07 02:26
cjcat2266: channel。 01/07 02:26
cowbaying: 直接以貼圖的方式加上去也是可以 01/07 11:13
cowbaying: 舉例來說 在2D的部分 我射了1支箭在目標身上 飛行過 01/07 11:14
cowbaying: 是一個物件 但是碰撞後 可以把箭"黏"目標上 01/07 11:14
cowbaying: 變成一個貼圖(sprite) 把箭的角度跟相對位置存在目標 01/07 11:15
cowbaying: 的其中一個變數裡面 可能是個陣列 01/07 11:16
cowbaying: 當這個陣列的數量有減少的時候再重新繪製那個layer就好 01/07 11:17
cowbaying: 這樣做的話 在遊戲裡 這些箭是可以回收的 也不會影 01/07 11:18
cowbaying: 響太多性能 01/07 11:19
cowbaying: 如果不斷中箭 一直覆蓋舊有圖塊就可以了 01/07 11:20
遇到圓曲 凹折的部位 會變得很奇怪 ※ 編輯: teeheehee (1.162.138.121), 01/07/2019 12:03:06
y3k: 圓曲凹折的部分做動態貼圖會很怪 恐怕只是做的人實力問題吧 01/07 21:14
kuma660224: 還有一個做法是事先設計全身血跡圖 01/18 11:01
kuma660224: 改動被命中部位的頂點色當mask 01/18 11:01
kuma660224: 頂點不能太少,且CPU不能太弱 01/18 11:02
kuma660224: lerp(正常貼圖色,染血貼圖色,Mask值) 01/18 11:03
kuma660224: 射到腳,就讀腳的模型去判斷頂點距離 01/18 11:04
kuma660224: if 頂點至命中點距離 < 染血範圍值 01/18 11:05
kuma660224: 則VertexColor的某通道=0.0f; 01/18 11:06
kuma660224: 類似換圖,只是多了判斷,產生的遮罩 01/18 11:08