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/m.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燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP