Воскресенье, 22 Декабря 2024, 09:15

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Видимая тень от невидимого объекта
VeTaLvДата: Пятница, 27 Июля 2012, 02:00 | Сообщение # 1
был не раз
Сейчас нет на сайте
Ребят, как сотворить сабж?
Есть несколько объектов, которые должны быть невидимы, но оставлять тени.

Нашел тут такой шейдер, но он для полупрозрачных объектов, а мне нужны полностью невидимые

http://answers.unity3d.com/questions/285847/transparency-shader-that-allows-shadows.html

Code

Shader "Transparent/Diffuse with Shadow" {
Properties {
   _Color ("Main Color", Color) = (1,1,1,1)
   _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
}

SubShader {
   Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
   LOD 200
   Blend SrcAlpha OneMinusSrcAlpha
   CGPROGRAM
   #pragma surface surf Lambert addshadow
     
   sampler2D _MainTex;
   fixed4 _Color;
     
   struct Input {
    float2 uv_MainTex;
   };
     
   void surf (Input IN, inout SurfaceOutput o) {
    fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
    o.Albedo = c.rgb;
    o.Alpha = c.a;
   }
   ENDCG
}

Fallback "Transparent/VertexLit"
}


Сообщение отредактировал VeTaLv - Пятница, 27 Июля 2012, 02:00
iNikitДата: Пятница, 27 Июля 2012, 02:20 | Сообщение # 2
участник
Сейчас нет на сайте
VeTaLv, а если не делать объект полностью прозрачным? Если оставить его видимым на 0.000000000000001 %, то это не подойдёт?


Самый лучший юзер GCUP :3
VeTaLvДата: Пятница, 27 Июля 2012, 02:26 | Сообщение # 3
был не раз
Сейчас нет на сайте
Да хрен его знает smile
Я с шейдерами не особо дружу - не могу найти, где там регулируется прозрачность


Сообщение отредактировал VeTaLv - Пятница, 27 Июля 2012, 02:45
iNikitДата: Пятница, 27 Июля 2012, 02:39 | Сообщение # 4
участник
Сейчас нет на сайте
Quote
_Color ("Main Color", Color) = (1,1,1,1)

RGBA — Red, Green, Blue, Alpha. Четвёртое число.



Самый лучший юзер GCUP :3
VeTaLvДата: Пятница, 27 Июля 2012, 02:45 | Сообщение # 5
был не раз
Сейчас нет на сайте
Code

void surf (Input IN, inout SurfaceOutput o) {    
       fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;    
       o.Albedo = 0;    
       o.Alpha = 0;    
      }    


Это, вроде, помогло

Да, пасиб, заработало. smile


Сообщение отредактировал VeTaLv - Пятница, 27 Июля 2012, 03:43
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг