Текстуру на 2ой канал

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Текстуру на 2ой канал

Сообщение Uchawi 12 окт 2012, 18:55

Замоделил мост. Но т.к. модель очень большая , наложил на него тайловую текстуру. Потом сделал анврап на 2ой канал, развертку, нарисовал трещины, надписи, пятна, загнал в юнити в шейдер diffuse detail, но оно все лягло на 1й канал. А мне то надо вторую текстуру на 2ой. И настроек там нет. Как его вырулить? и вообще как в юнити реализовывается вопрос детализации текстур (надписи, трещины, грязь) для больших моделей, для которых одну детальную карту нарисовать нереально
Uchawi
UNец
 
Сообщения: 41
Зарегистрирован: 12 окт 2012, 18:30

Re: Текстуру на 2ой канал

Сообщение waruiyume 12 окт 2012, 20:56

Отредактировать или найти готовый шейдер, использующий 2й канал. Только учтите, 2й канал нужен под развёртку лайтмапы(как вариант: тайленую текстуру можно наложить по world или model координатам). Есть такие вот декали и прожектор.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Текстуру на 2ой канал

Сообщение seaman 12 окт 2012, 21:20

А собственно зачем два канала для этого? Что мешает и карту деталей и основную рисовать по одной развертке? А в Юнити просто смешать.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Текстуру на 2ой канал

Сообщение Uchawi 12 окт 2012, 22:02

Кароч получается нереально. Я учел лайтмапу поэтому мне вообще нужно 3 канала. А раз писать самому шейдер то нафиг юнити. ибо я никаким местом не кодер.
А вобще че,все кто делает игры тут даж лайтмапу накладывают на 1й канал? Или пишут сами шейдер

seaman, я в теме обьяснил почему. Очень большая модель и чтобы все детали было чтко видно нужно рисовать карту текстуры как минимум 6000Х6000.


А вобще где есть хорошие уроки по юнити для совсем нубов, где рассказывается как перемещатся вперед назад , и всякая подобная примитивщина ? Ибо я юнити впервые в жизни увидел токо вчера
Uchawi
UNец
 
Сообщения: 41
Зарегистрирован: 12 окт 2012, 18:30

Re: Текстуру на 2ой канал

Сообщение seaman 12 окт 2012, 22:32

seaman, я в теме обьяснил почему.

Неа, не объяснили. Почему с двумя развертками ее не надо делать 6000Х6000?
Карта детализации тайлится? Ну и почему ее нельзя наложить в ту же развертку, что и основную текстуру? Главная текстура Clamp, тайлинг 1, 1. Деталей - Wrap, тайлинг хоть 500, 500.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Текстуру на 2ой канал

Сообщение Uchawi 13 окт 2012, 10:42

все правильно. кАрта детализации не тайлится и будет 6000Х6000. но учитывая то, что большая ее часть будет "пустой", т.е. черной (ну например при смешивании ее шейдером бленд в максе) и только некоторые участки будут заполнены, общим весом она будет 200-300 кб. А если рисовать одну общую развертку (с асфальтом и трещинами), по меньшей мере она будет весить 5-10 мегабайт. + если учесть что будет лайтмап, который тоже будет 6000х6000 и весить до 1 метра, общее количество текстур на 1 меш в сцене будет грузить. + а что делать с дорогами, с домами (если я моделю высотку и хочу, чтобы она выглядела детальной), мне на нее тоже одну развертку текстуры рисовать 10 000Х10 000?
Uchawi
UNец
 
Сообщения: 41
Зарегистрирован: 12 окт 2012, 18:30

Re: Текстуру на 2ой канал

Сообщение Левш@ 13 окт 2012, 11:36

Шейдер DiffuseDetail не подойдет ? (Стандартный набор).
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Текстуру на 2ой канал

Сообщение mynglam 13 окт 2012, 12:19

Такие ситуации решают декалями в 99% случаев, только если объекты очень огромные можно сложный шейдер попробовать.
У нас для ландшафта было 4-е тайленых текстуры плюс карты нормалей, и пятая текстура где r, g и b цветами указывалось какая из четырех первых туда накладывается, плюс они смешивались. Это не на юнити было, но ничего не мешает сделать и в нём.
Есть еще мегатекстуры, по моему мнению они дают самый красивый результат, не без минусов конечно, но для новичка это не подойдет.
mynglam
UNец
 
Сообщения: 41
Зарегистрирован: 25 фев 2011, 19:00
  • ICQ

Re: Текстуру на 2ой канал

Сообщение Uchawi 15 окт 2012, 15:17

Левш@, там тоже все накладывается на 1 канал, и насколько я понял, натроек нет вообще.

Спасибо всем, кароче я понял, что второй канал в юнити вообще не используется.
Тогда вопрос по предмету. Вот моя модель для игры. Используется тайловая текстура. Каким образом ее лучше затекстурить, чтобы и текстура не лежала одним грязным пятном (а такое будет нарисовать единую текстуру на анврап ), и чтобы не истпользовать второй канал?

http://imageshack.us/photo/my-images/109/1111ubm.jpg
Uchawi
UNец
 
Сообщения: 41
Зарегистрирован: 12 окт 2012, 18:30

Re: Текстуру на 2ой канал

Сообщение alt3d 16 окт 2012, 09:08

Можно использовать шейдер из группы Lightmapped.
На первый канал развертки положить основную тайленную текстуру.
На второй канал AO + элементы грязи, сколов и прочего на что хватит фантизии и умения.
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: Текстуру на 2ой канал

Сообщение Uchawi 16 окт 2012, 12:32

alt3d писал(а):Можно использовать шейдер из группы Lightmapped.
На первый канал развертки положить основную тайленную текстуру.
На второй канал AO + элементы грязи, сколов и прочего на что хватит фантизии и умения.


А можно поточнее где конкретно в шейдере менять канал? Сейчас в третий раз обшарил все найтройки шейдеров (в.т.ч. лайтмаповских), настроек смены каналов не вижу.
Uchawi
UNец
 
Сообщения: 41
Зарегистрирован: 12 окт 2012, 18:30

Re: Текстуру на 2ой канал

Сообщение waruiyume 16 окт 2012, 19:35

Скачиваем стандартные шейдеры
Открываем нужный
Дописываем "2" после "uv"
Не юзаем лаймапы
Синтаксис:
Используется glsl
Shader "Diffuse Detail"
{
        Properties
        {
                _Color ("Main Color", Color) = (1,1,1,1)
                _MainTex ("Base (RGB)", 2D) = "white" {}
                _Detail ("Detail (RGB)", 2D) = "gray" {}
        }

        SubShader
        {
                        Tags { "RenderType"="Opaque" }
                        LOD 250
       
                CGPROGRAM
                #pragma surface surf Lambert

                sampler2D _MainTex;
                sampler2D _Detail;
                fixed4 _Color;

                struct Input
                {
                        float2 uv_MainTex;
                        //здесь
                        float2 uv2_Detail;//float2 uv_Detail;
                };

                void surf (Input IN, inout SurfaceOutput o)
                {
                        fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
                        //здесь
                        c.rgb *= tex2D(_Detail,IN.uv2_Detail).rgb*2;//c.rgb *= tex2D(_Detail,IN.uv_Detail).rgb*2;
                        o.Albedo = c.rgb;
                        o.Alpha = c.a;
                }
                ENDCG
        }

        Fallback "Diffuse"
}

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

Re: Текстуру на 2ой канал

Сообщение alt3d 17 окт 2012, 09:13

Uchawi писал(а):А можно поточнее где конкретно в шейдере менять канал? Сейчас в третий раз обшарил все найтройки шейдеров (в.т.ч. лайтмаповских), настроек смены каналов не вижу.


Все уже настроено и менять ничего не нужно. Шейдер "Legacy Shaders/Lightmapped/Diffuse"
Для текстуры "Base" используется первый канал развертки.
Для текстуры Lightmap - второй канал. Эту карту по задумке авторов предполагается юзать для лайтмапы, но я иногда использую ее как раз для добавления AO и грязи на больших объектах. Костыльное решение конечно, но иногда можно использовать.
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: Текстуру на 2ой канал

Сообщение Uchawi 17 окт 2012, 18:02

alt3d спасибо за совет но к сожалению фокус не прошол. Моя лайтмапа, полученая с анвраппеного 2го канала весело растайлилась. Так что во всяком случае в моей версии шейдера лайтмапа тоже ложится на 1 канал. Теперь буду пробовать как сказал waruiyume
Uchawi
UNец
 
Сообщения: 41
Зарегистрирован: 12 окт 2012, 18:30

Re: Текстуру на 2ой канал

Сообщение alt3d 17 окт 2012, 19:03

Uchawi писал(а):alt3d спасибо за совет но к сожалению фокус не прошол. Моя лайтмапа, полученая с анвраппеного 2го канала весело растайлилась. Так что во всяком случае в моей версии шейдера лайтмапа тоже ложится на 1 канал. Теперь буду пробовать как сказал waruiyume


Может в настройках модели, при импорте, стояла галочка "generate 2 uv channel for lightmap" (или как-то так, я сейчас помню не точно), потому-что они шейдер обязан просто работать со вторым каналом, причем по дефолту.
Ну да бог с ним. Всегда есть несколько вариантов решения.
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ


Вернуться в Почемучка

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

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