Эффект появления

Шейдеры и все-все-все.

Эффект появления

Сообщение ilafet 02 июл 2015, 20:38

вот набросал в максе для примера:

интересует как такой эффект появления сотворить в юньке? шейдером?
какие будут идеи выхода юнита из портала? портал плоский, если инстансить префаб - он сразу весь появляется, что некрасиво
ilafet
UNец
 
Сообщения: 46
Зарегистрирован: 01 июн 2015, 09:59

Re: Эффект появления

Сообщение Woolf 02 июл 2015, 20:58

интересует как такой эффект появления сотворить в юньке? шейдером?

Шейдером )) У меня так поплавки сделаны..

Синтаксис:
Используется csharp
Shader "Custom/Poplavok" {
        Properties {
            _Color ("Main Color", Color) = (1,1,1,1)
           
                _MainTex ("Base (RGB)", 2D) = "white" {}
                _WaterLevel ("Water level", float) =1
                _Illum ("Illumin (A)", 2D) = "black" {}
        }
        SubShader {
                Tags { "RenderType"="Opaque"  }
                LOD 200

        CGPROGRAM
        #pragma surface surf Lambert
       
           struct Input {
          float2 uv_MainTex;
          float3 worldPos;
        };
               
               
            sampler2D _MainTex;
            sampler2D _Illum;
            half4 _Color;

            float _WaterLevel;
           
           
                void surf (Input IN, inout SurfaceOutput o) {
                        half4 c = tex2D (_MainTex, IN.uv_MainTex);
                        half4 ci = tex2D (_Illum, IN.uv_MainTex);
                       
                       
                        if (IN.worldPos.y<_WaterLevel) {
                          discard;
                        }
                       
                        o.Albedo = (c.rgb+ci.rgb)*_Color.rgb;
                        o.Alpha = c.a*_Color.a;// c.a;
                }
                ENDCG
        }
        FallBack "Diffuse"
}

 


Разберетесь?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Эффект появления

Сообщение ilafet 02 июл 2015, 21:06

да, спасибо=)
но как быть, если префаб юнита - это куча мешей, эффектов и т.д.
ilafet
UNец
 
Сообщения: 46
Зарегистрирован: 01 июн 2015, 09:59

Re: Эффект появления

Сообщение Woolf 02 июл 2015, 21:14

ilafet писал(а):да, спасибо=)
но как быть, если префаб юнита - это куча мешей, эффектов и т.д.


С эффектами думайте сами, а с мешами - тот же шейдер..
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Эффект появления

Сообщение kripto289 03 июл 2015, 21:08

Woolf писал(а):
интересует как такой эффект появления сотворить в юньке? шейдером?

Шейдером )) У меня так поплавки сделаны..

Синтаксис:
Используется csharp
Shader "Custom/Poplavok" {
        Properties {
            _Color ("Main Color", Color) = (1,1,1,1)
           
                _MainTex ("Base (RGB)", 2D) = "white" {}
                _WaterLevel ("Water level", float) =1
                _Illum ("Illumin (A)", 2D) = "black" {}
        }
        SubShader {
                Tags { "RenderType"="Opaque"  }
                LOD 200

        CGPROGRAM
        #pragma surface surf Lambert
       
           struct Input {
          float2 uv_MainTex;
          float3 worldPos;
        };
               
               
            sampler2D _MainTex;
            sampler2D _Illum;
            half4 _Color;

            float _WaterLevel;
           
           
                void surf (Input IN, inout SurfaceOutput o) {
                        half4 c = tex2D (_MainTex, IN.uv_MainTex);
                        half4 ci = tex2D (_Illum, IN.uv_MainTex);
                       
                       
                        if (IN.worldPos.y<_WaterLevel) {
                          discard;
                        }
                       
                        o.Albedo = (c.rgb+ci.rgb)*_Color.rgb;
                        o.Alpha = c.a*_Color.a;// c.a;
                }
                ENDCG
        }
        FallBack "Diffuse"
}

 


Разберетесь?

Первый раз вижу discard. Как это работает? Вроде не cutout, где вы вообще такое нашли, я тоже хочу там искать :ymsmug:
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт

Re: Эффект появления

Сообщение DbIMok 03 июл 2015, 22:49

правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Эффект появления

Сообщение kripto289 04 июл 2015, 08:05

DbIMok писал(а):https://en.wikibooks.org/wiki/Cg_Programming/Unity/Cutaways

Спасибо за ссылку. Но у дискарда есть минус судя по ссылке, он может быть дорогостоящим. Возможно cutout/alpha или отключение вершин в геометрическом шейдере было бы лучше :-?
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт

Re: Эффект появления

Сообщение MF_Andreich 04 июл 2015, 09:44

kripto289 писал(а):
DbIMok писал(а):https://en.wikibooks.org/wiki/Cg_Programming/Unity/Cutaways

Спасибо за ссылку. Но у дискарда есть минус судя по ссылке, он может быть дорогостоящим. Возможно cutout/alpha или отключение вершин в геометрическом шейдере было бы лучше :-?

Обычно discard не юзают постоянно. Он используется тогда, когда надо "появить" или "исчезнуть" объект. После применения его выключают, включают регулярный шейдер.
Holly Shovel Team
Аватара пользователя
MF_Andreich
Старожил
 
Сообщения: 924
Зарегистрирован: 20 июн 2013, 10:09
Откуда: Барнаул
Skype: mf_andreich
  • ICQ


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3