原创 Shader-常用的函數

常用文件: 文件路徑:{Unity安裝路徑}/Editor/Data/CGIncludes/ 參考資料:http://www.ceeger.com/Components/SL-BuiltinIncludes.html 參考資料:《

原创 Shader - Unity中的渲染管道

着色器用於定義對象的外觀(材質屬性)以及它對光的反應,因爲必須在着色器中構建光照計算,然而可能會存在很多類型的光影,所以編寫Shader是非常麻煩的一件事。Unity爲了簡化編寫Shader的操作,提供了Surface Shade

原创 C# 反射 如何動態獲取/設置數組,列表,字典中的中值

在實現ToTxt 時,碰到這些問題,在此記錄一下: 1.數組與List: 讀取數組與列表 數組與List 均有實現IList接口,所以在反射時,獲取FieldInfo.FiledType後,可以使用typeof(IList).Is

原创 Noise算法-Value Noise

僞隨機數算法:https://editor.csdn.net/md/?articleId=103834623 實現: namespace Game.Randoms { /// <summary> /// 線性同餘隨

原创 Shader - ShaderLab基礎

Unity中的所有Shader都是使用ShaderLab的聲明性語言編寫的。而ShaderLab是Unity對CG/HLSL/GLSL的一層封裝,重點支持的是Cg着色器語言。 目前面向GPU的編程有三種高級圖像語言:HLSL語言,

原创 計算機幾何相關算法

1.點到直線的距離 鏈接:https://www.jianshu.com/p/8ba826e6208a private static float distancePoint2Line(Vector3 point, Vecto

原创 ToTxt 序列化方法

下載地址:https://pan.baidu.com/s/1sKnnDNKr2tyNd0NIpXsagA 提取碼:9e76 測試工程:https://pan.baidu.com/s/1Dk68RQe1ZMIarjgHmjG0VQ

原创 計算機幾何 - 凸包

凸包:在一個實數向量空間V中,對於給定集合X,所有包含X的凸集的交集被稱爲X的凸包。 啥意思,我也沒看懂。通過瀏覽衆多博客文章之後,我對凸包的理解爲: 給定一組離散的點,求得包圍整個離散點的邊的集合。 例如,在牆上隨機定了N個釘子

原创 Unity的這些知識你知道碼?

1.Project 窗口中搜索的使用 鍵入多個搜索詞,縮小搜索範圍,例如沿海場景,則會查找同時包含’沿海’和’場景’的名稱 t:按指定類型過濾,l:按標籤過濾,v: 點擊按鈕’五星’,可以將當前檢索指令進行存儲 2.點擊‘場景

原创 Shader - 編寫Surface Shader

如果你還未了解過Shader lab 建議先了解一下Shader Lab 相關內容:跳轉接口。 編寫與光照相互做的着色器是很複雜的,有不同的燈光類型,不同的陰影選項,不同的渲染路徑,着色需要以某種方式處理所有的複雜性。 Unity

原创 僞隨機數算法

1、線性同餘隨機數算法(LGC) 公式:xn=(Ax[n-1]+B) % M A:乘數B:增量M:最大值x[n-1]:種子連接: https://www.cnblogs.com/forget406/p/5294143

原创 Unity用代碼將多張圖片合併爲一張圖片

最近在寫一個自己的小項目,在項目中,我想寫這麼一個地圖編輯器: 1.將遊戲地圖劃分一個N個正方形格子 2.地圖編輯器有分層功能,類似於PS的圖層,在每一個圖層上我可以設置指定的圖片。 3.根據每個層圖片,將其合併爲一張圖(每張圖像

原创 遊戲中的數學公式(增錄中...)

以下代碼中 using M = GameHelper.Math.Mathf; 爲自定義類 可以替換爲你們自己實現這些公式的類 1.三次Hermite插值餘項: (Unity中 動畫曲線插值算法,d1 ,d2 分別爲斜率) 文獻:h

原创 記錄:Shader 光照模型公式及實現

以下內容來自<UnityShader 入門精要> 第六章 Unity中的基礎光照 1.漫反射公式 蘭伯特定律:反射光線的強度與表面法線和光源方向之間夾角的餘弦值成正比 Cdiffuse = (Clight * Mdiffuse

原创 計算機幾何 - 如何判斷一個多邊形是凸多邊形還是凹多邊形

什麼是凸多邊形和凹多邊形? 凸多邊形:每個內角都是銳角或鈍角,沒有大於180度的內角(例如,三角形、正方形)。 凹多邊形:至少有一個大於180度的內角(例如,五角星)。 注:大於180度的角又被稱爲優角 如上圖,D點就是優角