原创 [Rotation Transform] 旋轉變換

[Rotation Transform] 旋轉變換旋轉矩陣繞當前座標系指定軸的變換矩陣給定歐拉角的變換歐拉角表示旋轉的缺點四元數與旋轉旋轉順序的驗證Shader中的方向變換法線變換 這篇文章紀錄一些關於旋轉變換的知識,和Unity

原创 【語法】HLSL、GLSL、CG語言的官方文檔及內置函數翻譯

參考資料 以下網址多數爲中文網址 HLSL HLSL微軟網址 https://docs.microsoft.com/zh-cn/windows/desktop/direct3dhlsl/dx-graphics-hlsl 內置函數頁 htt

原创 【隨機數】根據概率密度生成隨機數

前言 程序中常見的隨機數函數通常都是均勻分佈的,有時我們需要按照一個非均勻的概率來生成數字。 對於離散隨機而言,可以通過分區實現,本文只討論連續型隨機變量的逆變換法。 這裏所說的均勻與非均勻實際上指的是概率密度函數: 概率密度函數 在連續

原创 【Unity】3D UI的焦點設置

3D UI 遊戲中經常出現一些斜向放置的UI,這些UI在世界空間中擺放,被透視攝像機所觀察。如下圖中的設置。 擺放一組帶有角度的UI:   下圖是旋轉後的UI,因爲使用透視相機的緣故,這裏可以看到明顯的立體效果。 但我們經常會

原创 【Unity】可編程渲染管線——LWRP輕量級渲染管線剖析

前言Unity2018中引入了可編程渲染管線(Scriptable Render Pipeline,簡稱SRP),是一種在Unity中通過C#腳本配置和執行渲染的方式。至2018.1版本,Unity中除了默認渲染管線,還提供了輕量級渲染管

原创 【UnityShader】字符畫風格屏幕後處理

原理在UnityShader中實現字符畫,實際工作就是把原圖像分成矩陣塊,分析每個每個塊內的圖像,並替換爲字符。圖像的分析方法最簡單的就是灰度值,在字符密度較大時能以很簡單的方式達到效果。更準確的方法是對塊內像素與準備好的字符取樣圖像素對

原创 【Unity】圖形相交檢測

前言圖形相交檢測常常用在傷害判定,使用自定義的圖形相交檢測,可以在一定程度上控制性能。比如2D格鬥遊戲中使用的矩形包圍盒(AABB),一些動作遊戲中常常出現的扇形攻擊。2D的圖形相交檢測能夠滿足大部分的需求,且可以拓展成爲柱狀的3D物體,

原创 【Unity】從零開始的布料模擬

前言遊戲引擎中對布料的模擬,通常採用基於物理方法的質點-彈簧模型(Mass-Spring Model)。在Unity模擬布料效果可以選擇Cloth組件,Obi Cloth插件,還有模型進一步簡化的Dynamic Bone、Swing Bo

原创 【Unity】Mesh邊緣的查找與繪製

前言最近需要將一個2D網格邊緣上繪製虛線,最初考慮使用渲染的後處理來實現,但是後處理代價大,而且效果也並不理想,於是打算採用LineRenderer來繪製邊緣的虛線。最後效果如下:四張圖分別是Quad、Plane、自定義形狀、帶空洞的自定