作者teeheehee (软尾抛抛翔(′・ω・`))
看板GameDesign
标题[请益] 人物身上沾的血迹是怎麽做的?
时间Sun Jan 6 10:37:51 2019
有些游戏为求真实
除了打击後人物会喷溅血液外 身上也会沾上血迹
打头 头会沾血
打胸 胸会沾血
这种技术 是怎麽做出来的?
-----
Sent from JPTT on my Sony F8332.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.162.138.121
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1546742281.A.F56.html
1F:推 gino0717: 多叠一层只有血渍的material上去吧 我猜 01/06 11:38
2F:推 damody: 动态改变材质 01/06 13:08
这种技术有什麽术语吗
※ 编辑: teeheehee (180.204.163.135), 01/06/2019 13:36:08
3F:推 nickchu35: 通常应该是用一个 decal texture 加上去吧 01/06 14:31
4F:→ kuma660224: 做法很多种. 看是动态还是静态指定部位 01/06 16:20
动态的
※ 编辑: teeheehee (1.162.138.121), 01/06/2019 17:12:01
5F:推 cjcat2266: 血渍、湿度等,可用另外一个texture channel在原本的 01/07 02:26
6F:→ cjcat2266: 材质和血渍/湿度材质之间混色。以命中点算出UV座标之 01/07 02:26
7F:→ cjcat2266: 後,用texture-space decal的方式修改该该额外texture 01/07 02:26
8F:→ cjcat2266: channel。 01/07 02:26
9F:推 cowbaying: 直接以贴图的方式加上去也是可以 01/07 11:13
10F:→ cowbaying: 举例来说 在2D的部分 我射了1支箭在目标身上 飞行过 01/07 11:14
11F:→ cowbaying: 是一个物件 但是碰撞後 可以把箭"黏"目标上 01/07 11:14
12F:→ cowbaying: 变成一个贴图(sprite) 把箭的角度跟相对位置存在目标 01/07 11:15
13F:→ cowbaying: 的其中一个变数里面 可能是个阵列 01/07 11:16
14F:→ cowbaying: 当这个阵列的数量有减少的时候再重新绘制那个layer就好 01/07 11:17
15F:→ cowbaying: 这样做的话 在游戏里 这些箭是可以回收的 也不会影 01/07 11:18
16F:→ cowbaying: 响太多性能 01/07 11:19
17F:→ cowbaying: 如果不断中箭 一直覆盖旧有图块就可以了 01/07 11:20
遇到圆曲 凹折的部位 会变得很奇怪
※ 编辑: teeheehee (1.162.138.121), 01/07/2019 12:03:06
18F:→ y3k: 圆曲凹折的部分做动态贴图会很怪 恐怕只是做的人实力问题吧 01/07 21:14
19F:→ kuma660224: 还有一个做法是事先设计全身血迹图 01/18 11:01
20F:→ kuma660224: 改动被命中部位的顶点色当mask 01/18 11:01
21F:→ kuma660224: 顶点不能太少,且CPU不能太弱 01/18 11:02
22F:→ kuma660224: lerp(正常贴图色,染血贴图色,Mask值) 01/18 11:03
23F:→ kuma660224: 射到脚,就读脚的模型去判断顶点距离 01/18 11:04
24F:→ kuma660224: if 顶点至命中点距离 < 染血范围值 01/18 11:05
25F:→ kuma660224: 则VertexColor的某通道=0.0f; 01/18 11:06
26F:→ kuma660224: 类似换图,只是多了判断,产生的遮罩 01/18 11:08