小屋創作

日誌2021-07-28 15:04

【教學】距離場教學 第二章 - 距離計算

作者:樂小呈

標準化空間,大小為 10

距離場的真實意義

一開始我們有提到距離場是能夠描述空間中任意位置對於虛擬形狀最接近表面的距離的函數,聽起來有點繞口,所以直接用實例解說它的意思吧。

距離,向量的長度,如何計算向量的長度相信各位在國中就有學過了 : `a^2 + b^2 = c^2` ,其中 a 和 b 就是向量的 x y,而 c 就是我們需要的長度,首先讓我們畫出任意點距離中心的長度。


出現了一個由深到淺的圓型,從空間的中心開始長度為 0,越往外的長度越長,直到超出 1 變成完整的白色,最基本的距提場函數完成了,它描述了"任意點到空間中心的距離"。


雖然看起來是圓型,但這不是圓型的距離場 - 而是一個 "點" 的,因為它沒有半徑,那我們要如何算出和圓型表面的距離 ? 答案是用減的。




為什麼有效呢,請聽我娓娓道來~

以半徑 5 為例,原本在空間中距離為 5 的地方,它的距離值被減去 5 於是變成了 0,也就是圓型的表面,而在圓內部的距離會小於 0,圓外部則大於 0。


讓我們回到一開始,距離場是能夠描述 "空間中任意位置對於虛擬形狀最接近表面的距離" 的函數,當你們消化完上面的東時,就能夠理解這段描述的意思了。

現在畫出來的圓型表面還有一段過度,這段過度是 0 到 1 之間的浮點數造成的,如果我們不想要這段過度只需要將距離值 "無條件進位"。



恭喜,你的第一個距離場函數完成了
第一章 - 初步理解
第三章 - 距離上色

17

2

LINE 分享

相關創作

[達人專欄] 【學習日誌】批量繪製物件與視錐裁剪

[達人專欄] 【筆記】條件判斷與變體著色器

[達人專欄] 【筆記】初學指南,計算著色器

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】