Проблемы с Billboard шейдером
Делаю Billboard shader для Baldi мода на Unity (для полного отказа от Billboard скрипта). Нашел шейдер в котором был такой метод:
float3 vpos = mul((float3x3)unity_ObjectToWorld, input.vertex.xyz);
float4 worldCoord = float4(unity_ObjectToWorld._m03, unity_ObjectToWorld._m13, unity_ObjectToWorld._m23, 1);
float4 viewPos = mul(UNITY_MATRIX_V, worldCoord) + float4(vpos, 0);
float4 outPos = mul(UNITY_MATRIX_P, viewPos);
Поставил это в vertex шейдер, и вроде работает, однако иногда спрайты просто исчезают с определенных ракурсов.
Видео: https://youtu.be/0ut6lJbtpec
Кто нибудь сталкивался с похожей проблемой?
Ответы (1 шт):
Автор решения: YuraSuper2048
→ Ссылка
Поменял формулу, все заработало.
o.pos = mul(UNITY_MATRIX_P,
mul(UNITY_MATRIX_MV, float4(0.0, 0.0, 0.0, 1.0))
+ float4(input.vertex.x, input.vertex.y, 0.0, 0.0)
* float4(_ScaleX, _ScaleY, 1.0, 1.0));