GameDesign 板


LINE

连我都料想不到,隔了快一年, 居然出第五篇了?! 上一篇 (四) 讲的是 noise 的基础, 这一篇 (五) 打算讲 a. 如何画 noise outline (外框?), b. noise outline 有甚麽常见应用。 [准备] 经过了前一篇, 应该都能画得出下面类似的 2d noise https://imgur.com/JncbutC 不管是用 Game Engine 给的现成 noise, 或是抄来的 shader 写出来的都行, 反正画得出来就好。 如果画不出来,这里有个现成的 (不是我写的) https://www.shadertoy.com/view/Wt2czD [noise outline] 假设产生 noise 的 code 长得像这样: float noise( vec2 uv ) { // create noise from uv } void fragment( out vec4 COLOR, vec2 UV ) { vec2 uv = UV; // uv 应该要随着萤幕长宽更改比例 // 产生一个黑白的 noise 画面 float n = noise(uv); COLOR.rgb = vec3(n); } 原始画面是 https://imgur.com/JncbutC 现在加一行,把 code 改成: float n = noise(uv); // =========== magic formula =========== // n = 0.3 * 0.09 / (0.3-n); // ===================================== // COLOR.rgb = vec3(n); 画面就会变成 https://imgur.com/B9HfACw 将将将! 划出外框了! 就这麽简单 XD 把 0.3 / 0.09 / 0.3 这三个参数改一改, 会出现其他各种效果, 有空可以试试。 [应用] 所以画了 outline 又能怎样呢? 其实有不少实用的地方。 举例来说,第一个『水滴效果』 https://imgur.com/FcBbHxw 这是把萤幕当镜头, 模拟镜头上有水珠的样子。 因为水珠的外圈折射率大,中心折射率小, 跟外框的颜色 -- 靠外面比较白 (接近1),靠中间比较灰 (接近0) 类似。 假设背景是 TEXTURE,最後一行改成下面这样就可以了。 // 将 uv 往 vec2(1,1) 的方向偏移 0%~25% // 并取得偏移点的 pixel COLOR = texture(TEXTURE, (UV + vec2(n) / 4.)); https://imgur.com/FcBbHxw 可以加上时间让水滴往下流, 也可以用 3d noise 让水滴变形, 模拟真实的下雨景色。 第二个例子,『水底的光影』 https://imgur.com/SbxNQxT (影片) 这只是把 2d noise 变 3d,然後乘上颜色, 会放在游泳池或是水底,造成水底的光影效果。 // code 节录是这样 float n = noise3d( vec3(uv, TIME)); // =========== magic formula =========== // n = 0.3 * 0.09 / (0.3-n); // ===================================== // COLOR.rgb = vec3(1.) * n * 0.6 + vec3(.1, .2, .4) * 1.4; 第三个例子,『闪电』。 https://imgur.com/HMLoRoQ (影片) 乍看之下好像和外框无关, 但我改一下参数。 https://imgur.com/sJN524E 这样应该就看出来了, 这是同样的外框效果。 [结语] 写完了。 会不会有第六篇呢? 我觉得很难,哈哈。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.228.214.18 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1655305586.A.FD1.html ※ 编辑: meowyih (36.228.214.18 台湾), 06/15/2022 23:13:21 ※ 编辑: meowyih (61.228.80.32 台湾), 06/16/2022 09:04:40
1F:推 wangm4a1: 推 06/16 10:45
2F:推 Lhmstu: 推推 06/16 15:35
3F:推 dklassic: 酷,我以为你闪电是要用杂讯推轨迹模拟,原来参数正确 06/16 15:54
4F:→ dklassic: 就可以显示成那样 06/16 15:54
5F:推 eugenelinrmx: 推 06/17 21:39







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP