Skip to content

Commit 26ab3f2

Browse files
committed
fix: ASS UI, eyeShift
1 parent ccefcb9 commit 26ab3f2

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

  • Assets/UnityBox/AvatarSecuritySystem/Shaders

Assets/UnityBox/AvatarSecuritySystem/Shaders/UI.shader

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ Shader "UnityBox/ASS_UI"
5353
{
5454
float4 pos : SV_POSITION;
5555
float2 uv : TEXCOORD0;
56+
float2 eyeShift : TEXCOORD1;
5657
UNITY_VERTEX_INPUT_INSTANCE_ID
5758
UNITY_VERTEX_OUTPUT_STEREO
5859
};
@@ -75,21 +76,32 @@ Shader "UnityBox/ASS_UI"
7576
UNITY_INITIALIZE_OUTPUT(v2f, o);
7677
UNITY_TRANSFER_INSTANCE_ID(v, o);
7778
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
78-
o.pos = float4(v.uv * 2.0 - 1.0, 0, 1);
79+
80+
float2 ndc = v.uv * 2.0 - 1.0;
7981
#if UNITY_UV_STARTS_AT_TOP
80-
o.pos.y = -o.pos.y;
82+
ndc.y = -ndc.y;
8183
#endif
84+
85+
float d = 100.0;
86+
float3 vp = float3(
87+
(ndc.x + UNITY_MATRIX_P[0][2]) * d / UNITY_MATRIX_P[0][0],
88+
(ndc.y + UNITY_MATRIX_P[1][2]) * d / UNITY_MATRIX_P[1][1],
89+
-d
90+
);
91+
o.pos = mul(UNITY_MATRIX_P, float4(vp, 1.0));
8292
o.uv = v.uv;
93+
o.eyeShift = float2(UNITY_MATRIX_P[0][2] * 0.5, 0);
8394
return o;
8495
}
8596

8697
fixed4 frag(v2f i) : SV_Target
8798
{
8899
UNITY_SETUP_INSTANCE_ID(i);
89100
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
90-
float2 uv = i.uv;
91101

92-
float _cs = clamp(1.2 / max(unity_CameraProjection[1][1], 0.01), 1.0, 2.0);
102+
float2 uv = i.uv + i.eyeShift;
103+
104+
float _cs = max(1.0, 2.0 / max(unity_CameraProjection[1][1], 0.5));
93105
float2 cUV = (uv - 0.5) * _cs + 0.5;
94106

95107
float barCenterY = 0.5 + _E3B5;
@@ -121,10 +133,10 @@ Shader "UnityBox/ASS_UI"
121133
{
122134
float2 logoUV = (cUV - logoMin) / (logoMax - logoMin);
123135
fixed4 logoColor = tex2D(_G4D9, logoUV);
124-
baseColor = lerp(baseColor, logoColor, logoColor.a);
136+
baseColor = fixed4(lerp(baseColor.rgb, logoColor.rgb, logoColor.a), 1);
125137
}
126138

127-
return baseColor;
139+
return fixed4(baseColor.rgb, 1);
128140
}
129141
ENDCG
130142
}

0 commit comments

Comments
 (0)