原创 【Shader入土】頂點渲染路徑Vertex Lit

頂點點亮渲染路徑詳細信息 “頂點點亮”路徑通常一次渲染每個對象,並使用爲每個頂點計算的所有光源的光照。 這是最快的渲染路徑,並且具有最廣泛的硬件支持。 由於所有照明都是在頂點級別計算的,因此此渲染路徑不支持大多數每個像素的效果

原创 【Shader入土】延遲渲染路徑Deferred Lighting

目錄 延遲着色渲染路徑(Unity 2017.2) 總覽 要求 性能考量 實施細節 G-Buffer pass Lighting pass 一、實戰 1、GBuffer(RT0、RT1、RT2、RT3)四個渲染目標紋理的生成Shad

原创 【Shader入土】Light光源的Bias

目錄 Light.shadowBias 一、shadow acne現象 1、Unity陰影是如何產生的? 2、shadow mapping陰影映射圖分辨率比實際遊戲分辨率低爲啥會導致shadow acne呢?  二、peter panni

原创 【Shader進階】Pass塊的Tags標籤——LightMode之ShadowCaster

目錄  一、效果圖和Shader 二、ShadowCaster講解  一、效果圖和Shader Shader "Unlit/ShadowCasterTest" { Properties { _MainTex("Texture"

原创 【Shader進階】Pass塊的Tags標籤——LightMode之ForwardAdd

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' Shader "Unlit/ForwardAdd" { Properties { _

原创 【Shader進階】常見的渲染狀態RenderSetup——Blend

目錄 一、BlendOp混合操作 二、Blend混合因子 三、實戰 1、BlendOp Sub,Alpha爲0.7,混合因子不變情況 四、關於Queue爲Transparent時,是否默認關閉深度寫入的問題再次進行探討和說明。 (如有誤解

原创 【Shader進階】Pass塊的Tags標籤——LightMode之ForwardBase

Shader "Unlit/ForwardBase" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "Render

原创 【Shader進階】常見的渲染狀態RenderSetup——Cull

目錄 一、Cull Off  二、Cull Front  三、Cull Back(默認情況) 四、應用 模板代碼  Shader "Unlit/CullShaderTest" { Properties { _MainTex("T

原创 【Shader進階】常見的渲染狀態RenderSetup——ZTest&ZWrite

上圖爲深度測試GEqual大於等於的情況,也就是深度越大顯示在最前面,上圖的箱子深度都比白色方塊要大,所以箱子即使看起來被擋住,但恰好滿足深度測試,所以渲染出來。 Shader "Unlit/ZWriteShaderTest" {

原创 【Shader進階】Shader的Lod

目錄 官方說明 Shader Level of Detail(簡稱Lod) 中文版說明 着色器細節級別 一、實戰 編輯器功能,快速創建CubeMap 官方說明 Shader Level of Detail(簡稱Lod) Shader Le

原创 【Shader進階】Unity自帶的Shader模板——StandardSurfaceShader

效果圖   Shader "Custom/StandardSurfaceShader" { Properties { _Color ("Color", Color) = (1,1,1,1) //顏色 _

原创 【Shader進階】SubShader塊標籤Tags——DisableBatching

正常圖(DisableBatching爲True時,即使兩個物體本來是應該靜態合批的,但此時由於此DisableBatching爲True,從而兩個物體無法進行合批,下方會有截圖FrameDebugger的渲染情況) 不正常(頂點位置被

原创 【Unity】Shader編輯器擴展

目錄 一、Shader編輯器擴展——簡單介紹 1.1、利用ShaderGUI派生類來重新繪製Shader的Inspector窗口 1.2、利用MaterialPropertyDrawers,即加標籤形式擴展 二、介紹Shader編輯器擴展

原创 【Unity】靜態優化工具支持UGUI合批分析、AB包冗餘分析、預製體使用資源情況分析

目錄 工具Github鏈接地址 工具功能 一、分析預製體靜態資源,如貼圖、精靈圖、圖集等使用情況。 二、分析AB包冗餘情況 三、分析UGUI合批情況 工具Github鏈接地址 https://github.com/AMikeW/Unity

原创 【Unity】UGUI優化

目錄 一、有哪些需要進行優化的? 二、DrawCall 1、什麼是DrawCall? 2、爲什麼過多的Draw Call會造成卡頓? 3、如何減少DrawCall? 動態批處理:Unity自動地將滿足條件的物體網格合併,傳遞給GPU使用同