創作內容

17 GP

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

作者:is樂小呈│2021-07-28 15:04:09│巴幣:34│人氣:124
標準化空間,大小為 10

距離場的真實意義

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

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


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


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




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

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


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

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



恭喜,你的第一個距離場函數完成了
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=5221516
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:SDF|Shader

留言共 1 篇留言

御安鴨鴨
我以為要用圓形公式:(x-h)^2+(y-k)^2=r^2

07-28 16:10

is樂小呈
ㄅ用,者兩種算法的邏輯不同07-28 16:22
我要留言提醒:您尚未登入,請先登入再留言

17喜歡★angus945 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【教學】距離場教學 第一... 後一篇:【教學】距離場教學 第三...

追蹤私訊切換新版閱覽

作品資料夾

airsky00大家
爆肝血文,世界和平需要你的GP支持!看更多我要大聲說16小時前


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

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