плавная замена текстуры на Скайбоксе

Speed Tree : Terrain & Trees.

плавная замена текстуры на Скайбоксе

Сообщение jeyson 16 май 2009, 16:05

как можно реализовать сабж? одна плавно исчезает - другая тут же плавно появляется.
как понимаю два материала на мешь нельзя? а то бы просто заюзать альфа канал и все. еще идея есть про дублирование мешов и активацией/де активацией с транспарент материалами.
Аватара пользователя
jeyson
UNIт
 
Сообщения: 113
Зарегистрирован: 15 апр 2009, 22:22
Откуда: Ижевск
  • ICQ

Re: плавная замена текстуры

Сообщение Const_47 16 май 2009, 17:26

В пиксельном шейдере

Lerp(TexturaA,TexturaB,Timer);

Скорее всего это самый дешевый способ.
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: плавная замена текстуры

Сообщение jeyson 16 май 2009, 20:04

как понимаю меня спасет file:///C:/Program%20Files/Unity/Editor/Data/Documentation/Documentation/Components/SL-SetTexture.html
а как манипулировать птом все это из главное скрипта? если можно примерчики? :)
Аватара пользователя
jeyson
UNIт
 
Сообщения: 113
Зарегистрирован: 15 апр 2009, 22:22
Откуда: Ижевск
  • ICQ

Re: плавная замена текстуры

Сообщение Const_47 17 май 2009, 02:05

Жаба скрипт
Код: Выделить всё
function Update () {
var Value = Mathf.PingPong (Time.time, 1.0);
renderer.sharedMaterial.SetFloat( "_Factor", Value);
}

Шейдер
Код: Выделить всё
Shader "Lerp" {

Properties {
    _Factor ("LerpFactor", Range (0,1)) = 0.5
    _MapA ("MapA", 2D) = "white" { }
   _MapB ("MapB", 2D) = "white" { }
}

SubShader {
    Pass {
        Fog { Mode Off }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag

uniform float _Factor;

sampler2D _MapA;
sampler2D _MapB;

struct appdata {
    float4 vertex;
    float4 texcoord;

};

struct v2f {
    float4 pos   : POSITION;
    float2 uv    : TEXCOORD0;

};

v2f vert (appdata v) {
    v2f o;
    o.pos = mul(glstate.matrix.mvp, v.vertex);
    o.uv = v.texcoord.xy;
    return o;
}
half4 frag( v2f i ) : COLOR {
     
    float3 TextureA  = tex2D(_MapA, i.uv.xy);
    float3 TextureB  = tex2D(_MapB, i.uv.xy);
    float3 result = lerp(TextureA,TextureB,_Factor);   
     return float4(result,1);
}
ENDCG
    }
}
}
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: плавная замена текстуры

Сообщение Neodrop 17 май 2009, 04:42

Два материала на меш можно. Почему нельзя? Но через .lerp лучше. :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: плавная замена текстуры

Сообщение jeyson 18 май 2009, 10:48

Const_47, огромное русское спасибо!
Аватара пользователя
jeyson
UNIт
 
Сообщения: 113
Зарегистрирован: 15 апр 2009, 22:22
Откуда: Ижевск
  • ICQ

Re: плавная замена текстуры

Сообщение Silense 20 май 2009, 08:24

Вопрос почти в тему, можно ли менять SKYCUBE плавно - один на другой очень хочу такой эффект. :-s
ASUS P5Q-VM, Pentium dual-core 2xE5400, DDR2 8гига. GeForce 8500GT
Windows7 x64
Аватара пользователя
Silense
UNIт
 
Сообщения: 96
Зарегистрирован: 05 май 2009, 19:29
Откуда: РФ Абакан.

Re: плавная замена текстуры

Сообщение Neodrop 20 май 2009, 08:35

На офф. WIKI было что-то про это. Покопайте там.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: плавная замена текстуры

Сообщение Const_47 20 май 2009, 17:57

&Silense
Предполагаю что это нужно для эффекта смены погоды, или день - ночь. В свое оправдание скажу, что это пятиминутное решение, и НИКАК не решение в век современных видео.
Код: Выделить всё
Shader "RenderFX/Skybox CubedLerp" {
Properties {

    _lerpFactor ("lerpFactor ", Range (0,1)) = 0.5
     
   _powA ("powerA", Range (0,4)) = 1
   _TintA ("Tint ColorA", Color) = (.5, .5, .5, .5)
   _TexA ("CubemapA", Cube) = "white" {}

    _powB ("powerB", Range (0,4)) = 1
   _TintB ("Tint ColorB", Color) = (.5, .5, .5, .5)
   _TexB ("CubemapB", Cube) = "white" {}
}

SubShader {
   Tags { "Queue" = "Background" }
   Cull Off
   ZWrite On
   ZTest Always
   Fog { Mode Off }
   Lighting Off
   Color [_Tint]
   Pass {
            CGPROGRAM
         
            #pragma vertex vert
         #pragma fragment frag
         
         uniform float _lerpFactor;
         
         uniform float _powA;
         uniform float _powB;
         
         uniform float4 _TintA;
         uniform float4 _TintB;
         
         uniform samplerCUBE _TexA;
         uniform samplerCUBE _TexB;
         
   struct appdata {
   
   float4 vertex : POSITION;
        };

   struct v2f {
   
   float4 pos : POSITION;
   float4 uv : TEXCOORD0;
   };
   
   v2f vert(appdata v)
   {
       v2f o;
      o.uv = v.vertex;
       o.pos = mul(glstate.matrix.mvp,v.vertex);
       return o;
   }
   
      float4 frag (v2f i) : COLOR
    {
        float4 Acube = texCUBE(_TexA,i.uv)*_TintA*_powA;
       float4 Bcube = texCUBE(_TexB,i.uv)*_TintB*_powB;
       //float4 color = i.uv; //Debug Cube;)
       float4 result = lerp(Acube,Bcube,_lerpFactor);
       return  result;   
   }   
      ENDCG
   }   
}

Fallback Off

}


Сценка
http://www.sharemania.ru/0137865
http://rapidshare.com/files/235225512/N ... t.zip.html
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: плавная замена текстуры

Сообщение Neodrop 20 май 2009, 18:10

Конст, кажется там какая то проблема с шейдером... Видны стыки на гранях.. Не текстурное несовпадение, а именно угол куба... Это что то или с освещённостью или ещё с чем... :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: плавная замена текстуры

Сообщение Const_47 20 май 2009, 18:47

Ух ты. Артефакты полезли? У мя на видео все ок. fx7600. А несовпадения те же "Видны стыки на гранях", что и на стандартном RenderFx SkyBox.(Нужна хорошая кубмапа).
Принтскрин пожалуйcта, хошу это увидеть, если это что то "особенное".
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: плавная замена текстуры

Сообщение Neodrop 20 май 2009, 18:55

GF 9800 GTX+
У вас нет доступа для просмотра вложений в этом сообщении.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: плавная замена текстуры

Сообщение Neodrop 20 май 2009, 18:58

Или это всё-таки текстура виновата? :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: плавная замена текстуры

Сообщение Const_47 20 май 2009, 19:05

Ой я врубился. Конечно тектура :D В ассете выбераем Сubemap-ы в инспекторе facesize побольше(512 например) и ручками повторно перебираем все фейсы.
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: плавная замена текстуры

Сообщение Silense 21 май 2009, 05:19

Const_47 Да, да это мне нужно для смены погоды день и ночь. У меня не получается запустить сцену SkyBox научите пожалуйста.
Спасибо за помощь это маленькая мая мечта.
У вас нет доступа для просмотра вложений в этом сообщении.
ASUS P5Q-VM, Pentium dual-core 2xE5400, DDR2 8гига. GeForce 8500GT
Windows7 x64
Аватара пользователя
Silense
UNIт
 
Сообщения: 96
Зарегистрирован: 05 май 2009, 19:29
Откуда: РФ Абакан.

След.

Вернуться в Земля и деревья.

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

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