Как сделать бесшовный skybox?

Импорт текстур, моделей, звуков и пр.

Как сделать бесшовный skybox?

Сообщение blackrusden 21 авг 2016, 20:41

Вот мои текстуры(если у кого не видно могу залить в другое место:
Изображение
Изображение
Изображение
Вот мой материал:
http://rgho.st/download/6Mv5Cxzcm/6a55fc37cb9244a7c997859e8fdb4c143944731d/sky.mat
Вот что получается:
Изображение
Как это исправить?
Последний раз редактировалось blackrusden 21 авг 2016, 21:32, всего редактировалось 1 раз.
blackrusden
UNец
 
Сообщения: 48
Зарегистрирован: 03 июн 2014, 22:27

Re: Как сделать бесшовный skybox?

Сообщение waruiyume 21 авг 2016, 20:56

Не заливайте файлы на ex.ua- министерство правды его не одобряе.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как сделать бесшовный skybox?

Сообщение blackrusden 21 авг 2016, 21:24

waruiyume писал(а):Не заливайте файлы на ex.ua- министерство правды его не одобряе.

Перезаливаю
blackrusden
UNец
 
Сообщения: 48
Зарегистрирован: 03 июн 2014, 22:27

Re: Как сделать бесшовный skybox?

Сообщение waruiyume 21 авг 2016, 23:55

Нужно на вывернутую сферу натянуть градиент, и отрендерить в 2-х - 6-ти направлениях.
ИзображениеИзображение
Как видно- градиенты направлены либо в центр, либо в центр верхней грани.

Можно заюзать шейдер, типа такого.
Синтаксис:
Используется glsl
Shader "Unlit/SkyGradient"
{
        Properties
        {
                _Color("Color", Color) = (1,1,1,1)
                _BaseColor("Color", Color) = (0,0,0,1)
                _Power("Power", range(0.1, 3)) = 1
                _Shift("Shift", range(-1, 1)) = 0
        }
        SubShader
        {
                Tags { "Queue"="Background" "RenderType"="Background" "PreviewType"="Skybox" }
                Cull Off ZWrite Off

                Pass
                {
                        CGPROGRAM
                        #pragma vertex vert
                        #pragma fragment frag
                       
                        #include "UnityCG.cginc"
                       
                        fixed4 _BaseColor;
                        fixed4 _Color;
                        half _Power;
                        half _Shift;

                        struct appdata
                        {
                                float4 vertex : POSITION;
                        };

                        struct v2f
                        {
                                float4 vertex : SV_POSITION;
                                half3 dir : TEXCOORD0;
                        };
                       
                        fixed4 GetSkyColor(half3 dir)
                        {
                                fixed Dot = dot(half3(0,1,0), normalize(dir));
                                Dot = saturate(Dot+_Shift);
                                Dot = pow(Dot, _Power);
                                fixed4 color = lerp(_BaseColor, _Color, Dot);
                                return color;
                        }
                       
                        v2f vert (appdata v)
                        {
                                v2f o;
                                o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
                                o.dir = v.vertex.xyz;  
                                return o;
                        }
                       
                        fixed4 frag (v2f i) : SV_Target
                        {
                                return GetSkyColor(i.dir);
                        }
                        ENDCG
                }
        }
}

 
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как сделать бесшовный skybox?

Сообщение blackrusden 22 авг 2016, 08:50

Большое спасибо за шейдер. Использую его вместо текстур.
blackrusden
UNец
 
Сообщения: 48
Зарегистрирован: 03 июн 2014, 22:27

Re: Как сделать бесшовный skybox?

Сообщение 46165957 11 окт 2016, 14:55

46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14


Вернуться в Медиа

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

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