鴨子開發日記

一個遊戲開發者的隨筆 – ABOUT A GAME DEVELOPER

0%

PBR全稱Physically Based Rendering,是我接觸到Unity shader開發後不斷接觸到的名詞。為了解決在Unity開發中面對到的各種畫面問題,圖學知識用很破碎的方式在累積著,PBR的知識片段也是其中之一,但主要理解還停在如何使用,而不是原理。

最近又試著閱讀相關原理的資料,發現比起兩年前更能理解其中的內容了,於是想再做一遍較完整的學習,並留下筆記作為日後檢視與再深入的材料。

閱讀全文 »

在我的一個專案中,使用了 c++ 與 DirectX11 直接實作 rendering pipeline,並使用函式庫DirectXMath,作為數學運算的主要工具。

DirectXMath 是一個支援 SIMD 的函式庫,其中一個特點是它以 row-major 的方式來儲存矩陣。

但不論是 GLSL 還是 HLSL,shader 中的 matrix 都是預設以 column-major 儲存,所以在 DirectX11 與 DirectXMath 的範例中告訴你,在把 DirectXMath 的矩陣類型傳遞到 shader 中使用前,必須先經過一次矩陣轉置的處理,並且在 HLSL program 中,要使用 mul(vector, matrix) 來進行座標轉換。

但理由只有就這樣?結論來的這麼容易?

閱讀全文 »

unity-learning-totally-review-5

此篇文章是《從零開始的 Unity 學習心得》系列的第五篇文章,這個系列是記錄我對 Unity 的開發及學習心得,包含我用何種方式去理解 Unity 的運作,並且在我所知的範圍內盡可能說明相關原理與開發要點。完整系列的目錄可以參考:

閱讀全文 »

前陣子在找四元樹與八元樹的資料,發現了 three.js 這個套件,被用於做四元樹相關演算法的圖像展示。

three.js 是一個重新封裝 WebGL 語法的一個 javascript library,大幅降低開發 WebGL 的難度,之前有簡單接觸過 OpenGL,這次趁著週末便來挑戰看看 WebGL 吧!

閱讀全文 »

unity-learning-totally-review-4

此篇文章是《從零開始的 Unity 學習心得》系列的第四篇文章,這個系列是記錄我對 Unity 的開發及學習心得,包含我用何種方式去理解 Unity 的運作,並且在我所知的範圍內盡可能說明相關原理與開發要點。完整系列的目錄可以參考:

閱讀全文 »

unity-learning-totally-review-3

此篇文章是《從零開始的 Unity 學習心得》系列的第三篇文章,這個系列是記錄我對 Unity 的開發及學習心得,包含我用何種方式去理解 Unity 的運作,並且在我所知的範圍內盡可能說明相關原理與開發要點。完整系列的目錄可以參考:

上篇文章說明了幾個 Unity 的基本組成,並且開始接觸 MonoBehaviour。這篇文章將延續話題,聊聊我對於 Unity 物理系統 – 一個最常用在與 MonoBehaviour 共築遊戲邏輯的系統 – 的理解。

閱讀全文 »

unity-learning-totally-review-2

此篇文章是《從零開始的 Unity 學習心得》系列的第二篇文章,這個系列是記錄我對 Unity 的開發及學習心得,包含我用何種方式去理解 Unity 的運作,並且在我所知的範圍內盡可能說明相關原理與開發要點。完整系列的目錄可以參考:

這次主要重點放在 場景、物件、組件 的關係,以及撰寫 MonoBehaiour 腳本時可能會用上的一些經驗談。

閱讀全文 »