unity螢幕空間座標shader

2021-07-11 22:45:56 字數 1660 閱讀 7461

螢幕座標效果不受物體在空間位置的影響,

只受到物體本身和視口的影響,有時候可以做一些特殊效果

比如2d遊戲平鋪紋理,除錯螢幕位置,螢幕特效等等

下面是根據官方例子修改的

shader "unlit/show uvs"

}subshader

;sampler2d _maintex;

struct ccc ;

v2f vert(ccc c,

out float4 outpos : sv_position // clip space position output

)

然後是測試**可以通過改動紅色**看到效果

shader "unlit/show uvs"

}subshader

;sampler2d _maintex;

struct ccc ;

v2f vert(ccc c,

out float4 outpos : sv_position // clip space position output

)就是講畫素點0.5具象化

//每個格仔相當於乙個畫素 這是其他博主的理解 我再次理解下就是說半畫素問題0.5畫素是半透明的

//整個不再邊緣的畫素才是原本設定的顏色

//畫素座標的型別是不同的,所以為了方便使用 unity_vpos_type 型別

可以看到如上面設定的時候,在邊緣可以看到半透明的紅色和綠色的畫素線,這個就是

screenpos.x  和 screenpos.y的具像化
其他地方是黃色因為其他地方的值超過了1也就是說綠色和紅色都是1,所以加起來是黃色

如果你使用

fixed4 c = fixed4(screenpos.x-1 , screenpos.y-1,0,0);
會看到下面效果(注意這是放大了的結果)

發現有紅色和綠色偏移了

但是通過取色,發現顏色並不準確,因為最邊緣乙個畫素會被視窗邊界上色(大概)

如果偏移2個畫素就會發現中間的一行是正常的顏色

另外說下預設狀態可能ps取色有色彩,需要改一下取色器的取樣設定

unity螢幕空間陰影

參考 實驗的原理很簡單 1 從攝像機角度拍攝一張深度圖,為cameradepth 2 從燈光角度拍攝一張深度圖,為lightdepth 3 將兩個圖blit,重建世界座標點,轉換到燈光空間,取樣燈光空間的深度,比較,然後判斷是否在陰影裡,最後生成乙個新的圖,記作screenspaceshadowte...

unity數學基礎 座標空間

一 座標空間變換,這個變換過程暫時利用矩陣乘法的幾何意 釋,具體驗證以後補充 二 頂點的座標空間變換過程 1 模型空間 物件空間,區域性空間 unity約定 在模型空間使用的左手座標系,xyz分別對應著右上前。頂點著色器中訪問到模型的頂點資訊,其中每個頂點的座標都是相對於模型空間中的原點。2 世界空...

unity中螢幕和世界座標系區別

螢幕座標系是這個 o x軸 vy軸 通常在使用原生gui繪製時要考慮,這些gui元件不屬於編輯器中的物體,繪製時並不會參加物體的深度計算等操作,等到物體繪製完它才最後繪製到螢幕。世界座標系是這個 y軸 o x軸 能在編輯器看到的都是使用世界座標,例如ngui ugui這些雖然是ui元件,但其實都是編...