1.大部分濾鏡是通過基礎的「**、對比度、色溫等」配合濾鏡演算法生成的一種色彩模式
2.上述演算法在遊戲處理中複雜度很高,所以我們一些簡單的色彩濾鏡效果可以使用lut的方式
lut(look up table)指的是「顏色查詢表」,是原始顏色通過lut的顏色查詢表對映到新的色彩上去。是單獨針對色彩空間的一種管理和轉換。
1.兩者雖然都能讓的色彩發生變化,但是工作原理不同。lut只能針對色彩路徑轉換,濾鏡可以通過演算法針對進行更多特徵性改變。
2.比如一些顆粒化,模糊等不是簡單處理畫素顏色,所以不能通過lut實現
3.lut的優點是把複雜的計算公式放入了的前期處理,後期使用只需要查詢對應顏色即可。
512*16格式貼圖
1024*32格式貼圖
1.取消mipmap設定
2.format格式要改為rgb24
3.2d方式 貼圖要把 anisolevel 等級設定為0
4.3d方式 開啟read/write enabled
5.貼圖的srgb關閉,否則線性空間會有問題
1.螢幕後處理中使用
2.遊戲中部分功能的使用,比如眼睛的色彩空間貼圖更換
1.本文使用的是 512*16的貼圖格式
2.在ps中進行了「色相/飽和度」「曲線」「**濾鏡」「漸變對映」等操作
1.把上述步驟使用了ps中「色相/飽和度」「曲線」「**濾鏡」「漸變對映」 ,在lut原圖上進行操作
2.在遊戲中使用操作後的貼圖
1.lut有2d和3d貼圖兩種方式使用
2.由於部分機型和unity的版本原因,不支援3dshader貼圖,只能使用2d貼圖傳入方式
3.2d方式相容性好,但2d方式要消耗更多的gpu算力
sampler2d tex 為ps修改後的標準2d貼圖
half3 color 為原始取樣值
half3 offset 計算的偏移值,
offset 計算方式如下:
vector3(1f /貼圖寬度 , 1f /貼圖高度, 貼圖高度 - 1f)
public void settexture3d(texture2d temp2dtex)}}
if (m_texture3d)
destroyimmediate(m_texture3d);
m_texture3d = new texture3d(dim, dim, dim, textureformat.argb32, false);
m_texture3d.setpixels(newc);}}
邏輯**中生成一張3d貼圖
主要語句如下:
tex3d(_luttex3d, tex.rgb * _scale + _offset).rgb
引數含義如下:
_luttex3d 為生成的3d貼圖
_scale (貼圖寬度 - 1) / (1.0f *貼圖寬度 )
_offset 1.0f / (2.0f *貼圖寬度 )
Paint 濾鏡效果
lightingcolorfliter r r mul.r 0xff add.r g g mul.g 0xff add.g b b mul.b 0xff add.b 紅色去除掉 lightingcolorfilter lighting new lightingcolorfilter 0x00ffff...
IE濾鏡效果
濾鏡切換效果 meta content revealtrans transition 14,duration 3.0 http equiv page enter 頁面 style filter revealtrans duration 1,transition 6 css revealtrans濾鏡...
PS濾鏡效果
photoshop濾鏡基本可以分為三個部分 內闕濾鏡 內建濾鏡 也就是photoshop自帶的濾鏡 外掛程式濾鏡 也就是第三方濾鏡 內闕濾鏡指內闕於photoshop程式內部的濾鏡,共有6組24個濾鏡。內建濾鏡指photoshop預設安裝時,photoshop安裝程式自動安裝到pluging目錄下的...