發表文章

3D MAX CustomShader

圖片
自從美術時期就開始跟3D MAX 相處了這麼多年,這次就來製作一下它的 Shader 撰寫方式與效果。 這邊使用了材質球選到 DirectXShader ,從調整 StandardFX11.fx 的方式來到渲染目的。 將 StandardFX11.fx 檔案開啟觀察,可以發現到 float4 std_PS(vertexOutput IN) : SV_Target { ... 的部分,這便是平時在寫片段著色器的位置。可以找到熟悉的基本元素 :  Ln (Light方向) , Vn (View方向) , Nn (Nromal方向) , Tn (Tangent方向) , Bn (Bitangent方向) 再來就可以找到  phong_shading 的 function ,這就是光照要調整的地方。 修改 DiffuseContrib 的光照模式 ,從原本的 litV.y * LightColor 改成 LightColor * Ramp  Ramp則是從簡表示,以一張貼圖代表光線亮暗的變化。 完成修改後,置入相應貼圖便可以達到基本的  Toon Shader 效果。 頭髮則是用異相性高光的 KK Hair 製作高光並且混合Ramp 光照。 最後 3D 模型則是用本人建模的模型 雷姆 來展示。

URP Render Underwater Transparent Objects

圖片
某天在圖學大佬的指導下,開始著手探究 URP 的渲染架構,在此記錄下一些知識點。 在一般的情況下Unity的渲染方式會依據 Shader 內的 Queue 標籤 順序渲染物件,所以在默認 狀況下,水的 Shader 是 Transparent 模式。但是這也會造成 其他 Transparent 的物件在水面下會無法顯示的情況。因此,我們可以對其渲染的機制順序做調整,來讓其餘的 Transparent 物件也能在水底下顯示。