OnGUI на разные камеры или "компоновшик" текстуры.

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

OnGUI на разные камеры или "компоновшик" текстуры.

Сообщение Glooger 03 окт 2013, 16:29

Собсна сабж описан тут http://unity3d.ru/distribution/viewtopic.php?f=13&t=19304

Порывшись на буржуйских форумах, понял, что OnGUI нельзя раскидать на разные камеры, можно только у "не нужной" камеры guilayer отключить :( . Это так?

Если это так, то вижу только два "не очень" способа создания текстуры из 10 других (с прозрачностью), и возможностью пересоздавать в каждом кадре:
-- либо использовать сторонние dll для "компоновки" текстуры поля? :-?
-- либо отрисовывать все поля в одну текстуру, одной камерой и разрезать... ну это как бэ вобще (полная Ж)
Аватара пользователя
Glooger
UNIт
 
Сообщения: 118
Зарегистрирован: 04 апр 2013, 08:40

Re: OnGUI на разные камеры или "компоновшик" текстуры.

Сообщение Nicloay 03 окт 2013, 20:13

чет я не понял что нужно компоновать и зачем, есть же Texture2D.PackTextures ну или Texture.setPixels().
Да и что то мне кажется что можно с помощью стилей решить вашу задачу.
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: OnGUI на разные камеры или "компоновшик" текстуры.

Сообщение Glooger 03 окт 2013, 20:43

Nicloay писал(а):чет я не понял что нужно компоновать и зачем, есть же Texture2D.PackTextures ну или Texture.setPixels().


Под "компоновать" я подразуменаю слияние таких объектов, как GUI кнопок, текстов, спреев в одну текстуру.

Texture2D.PackTextures не то, а вот с Texture.setPixels не накладно будет? допустим у нас в одном поле (250*250 pix) по 10 текстур... а таких полей 5 всего и не накладно будет по производительности каждый кадр все эти пиксели выводить? Я понимаю, что любой другой редактор по пикселю всё выводит, так что может это не критично? (на крайняк можно текстуры через НЕ юнитовские классы создавать, тогда можно будет с мультипоточностью поиграть?)

Nicloay писал(а):Да и что то мне кажется что можно с помощью стилей решить вашу задачу.

Можно поподробнее? (popcorn)
Аватара пользователя
Glooger
UNIт
 
Сообщения: 118
Зарегистрирован: 04 апр 2013, 08:40

Re: OnGUI на разные камеры или "компоновшик" текстуры.

Сообщение marikcool 03 окт 2013, 22:35

1. OnGUI камера не рендерит.
2. Закинь все текстуры в один атлас и рисуй, рендер в текстуру и вывод дороже обойдется чем например 5 раз отрисовать с одной текстуры.
marikcool
UNITрон
 
Сообщения: 174
Зарегистрирован: 05 дек 2012, 23:19

Re: OnGUI на разные камеры или "компоновшик" текстуры.

Сообщение Nicloay 04 окт 2013, 01:39

Glooger писал(а): а вот с Texture.setPixels не накладно будет? допустим у нас в одном поле (250*250 pix) по 10 текстур... а таких полей 5 всего и не накладно будет по производительности каждый кадр все эти пиксели выводить? Я понимаю, что любой другой редактор по пикселю всё выводит, так что может это не критично? (на крайняк можно текстуры через НЕ юнитовские классы создавать, тогда можно будет с мультипоточностью поиграть?)

Каждый кадр конечно накладно, накладнее чем любая работа в шейдерах. поэтому хоть какую библиотеку возьми, все будет тормозить. в основном в момент Texture.Apply() когда данные грузятся в GPU.

Glooger писал(а):Можно поподробнее? (popcorn)

Да вот только только начинает проясняться, что вам нужно.
Я изначально думал, что вам нужны динамические границы кнопок например, или еще чтото в этом духе, когда можно какую то часть гуи элемента поменять на другой.
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: OnGUI на разные камеры или "компоновшик" текстуры.

Сообщение seaman 04 окт 2013, 07:27

Прицепляй нативные библиотеки типа FreeImage В них это делается достаточно быстро. Хотя, конечно не настолько быстро как шейдерами.
Где проскакивало сообщение, что даже в Фотошопе смешивание слоев в редакторе сделано на шейдерах.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 17