Разве NGUI так может?

Инструменты для разработки

Re: Разве NGUI так может?

Сообщение BenjaminMoore 23 май 2014, 19:47

Nicloay писал(а):Если реч не идет о мобильных платформах.

с чего Вы взяли, или я нажимаю что-то не то?
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Re: Разве NGUI так может?

Сообщение gnoblin 23 май 2014, 20:12

делать свой гуй который будет превосходить все существующие аналоги это замашка покруче чем "а сейчас мы запилим ммо" :)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Разве NGUI так может?

Сообщение Nicloay 23 май 2014, 20:28

BenjaminMoore писал(а):
Nicloay писал(а):Если реч не идет о мобильных платформах.

с чего Вы взяли, или я нажимаю что-то не то?


Был не прав, беру слова обратно
http://blogs.unity3d.com/2012/07/05/uni ... ile-games/
Dynamic Fonts on Mobile

In Unity 4 you will be able to use dynamic fonts on mobile devices. You can include any OS fonts without having to include font data in your build. At runtime a font sheet is dynamically created with only the characters that are currently needed. This allows you to keep the build size down. If you do not want to use an OS font you can also embed ttf files (and fall back to OS fonts for missing characters / languages). Using dynamic fonts (embedded or not) saves runtime texture memory in languages where you have many characters, but typically do not use all of them. Additionally, Unity 4 also supports using HTML-like markup when rendering text. This allows for easy insertion of styles in an inline manner.

Both dynamic fonts and HTML like markup are part of the core unity product and are not limited to mobile platforms.


Чето помню, просто ворнинги которые сыпались, из за dynamic font size.
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: Разве NGUI так может?

Сообщение BenjaminMoore 23 май 2014, 22:16

gnoblin писал(а):делать свой гуй который будет превосходить все существующие аналоги это замашка покруче чем "а сейчас мы запилим ммо" :)

он не создавался так как убийца всех гуёв, это была просто прикладная тулза, ну как-то вышло удачно просто :)
тем более он не начал создаваться, а подходит уже к логическому завершению :)
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Re: Разве NGUI так может?

Сообщение bwolf88 03 июн 2014, 23:38

Так в 4.6 новую систему GUI обещают. На видео вплоне достойно выглядит.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Разве NGUI так может?

Сообщение Tolking 03 июн 2014, 23:54

Картинки симпатишные, но то как все показано, для меня, ставит под вопрос возможность расширения...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2714
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Разве NGUI так может?

Сообщение BenjaminMoore 18 июн 2014, 17:43

раз делаем все визуально, можно ли для панелей делать padding, чтобы блочить сдвиг для вылезших на края дочерних компонентов?
будет ли добавлена сетка для точного позиционирования и функция по типу snap to grid?
на кнопки келлбеки вешать можно?
как в целом будут отлавливаться и распространятся события для вызова логики?

отвечаю из будущего
да, padding будет.
сетка со снапом уже есть.
события реализованы и их рассылка в трех видах:
дефолтные евенты С#, месседжи юнити и коллбеки, которые вешаются через рефлекшен в инспекторе, такое есть в NGUI и uGUI, не знаю как в дайконе.

насчет расширяемости:
во-первых будут доступны все исходники.
во-вторых у нас гуй будет полностью доступен из кода, чего в нормальном виде нет в текущих гуях: собрать гуй на НГУИ из кода - очень веселая задача.

у нас сохраняется доступ к отрисовке контроллов кодом в ООП стайле + будет прослойка аналогичная дефолтной гуйне: всякие if(XGUI.Button(...)) и так далее, но с гораздо большим функционалом, в отличии от того как это делал дефолтый гуй.
нужно что-то расширить? наследуйтесь да и ваяйте что хотите там.

чтобы было яснее, все текущие гуй-фреймворки завязаны на иерархии и наборе компонентов развешанных на объектах, у нас такого нет.
весь вайсвиг по сути надстройка для тех, кто не любит ничего делать из кода, но хочет, чтобы все было красиво и быстро.
гуй созданный кодом и вайсвигом соответственно может взаимодействовать на равных условиях, потому что это одно и тоже :)

насчет твинов тоже видел вопрос, по сути таких же твинов как в дайконе у нас не будет, но будет настраиваемая анимация для каждого из состояний гуй элемента, где можно проанимировать всё: цвет, позицию, размер, спрайт и так далее
может мы и захреначим какие-то прессеты для такого, но это уже будет ясно в релизе.

ах, да, я совсем забыл добавить, что тут сравнения пошли с Legacy GUI, нам пришлось отказаться от него, в силу некоторых нерешимых задач в его контексте
теперь у нас будет своя хитрая GL начинка
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Re: Разве NGUI так может?

Сообщение Zaicheg 18 июн 2014, 19:19

BenjaminMoore писал(а):во-вторых у нас гуй будет полностью доступен из кода, чего в нормальном виде нет в текущих гуях: собрать гуй на НГУИ из кода - очень веселая задача.
у нас сохраняется доступ к отрисовке контроллов кодом в ООП стайле + будет прослойка аналогичная дефолтной гуйне: всякие if(XGUI.Button(...)) и так далее, но с гораздо большим функционалом, в отличии от того как это делал дефолтый гуй.
чтобы было яснее, все текущие гуй-фреймворки завязаны на иерархии и наборе компонентов развешанных на объектах, у нас такого нет.
весь вайсвиг по сути надстройка для тех, кто не любит ничего делать из кода, но хочет, чтобы все было красиво и быстро.

Шикарно, это именно то, чего я жду.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Разве NGUI так может?

Сообщение Neodrop 22 июн 2014, 07:59

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

Re: Разве NGUI так может?

Сообщение 2rusbekov 24 июн 2014, 12:01

выкатив мне 100500 элементов GUI в одном скроллере! FPS правда был не очень (4-5 кадров в секунду), но IT'S A LIVE !

На нгуи и дайконе мы и не так извращались, и все работало.

А юГуи почти полная копия нгуи.
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Разве NGUI так может?

Сообщение Woolf 04 июл 2014, 00:27

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

Re: Разве NGUI так может?

Сообщение Neodrop 04 июл 2014, 02:07

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

Re: Разве NGUI так может?

Сообщение BenjaminMoore 04 июл 2014, 02:08

Woolf писал(а):Ну и как дела, в ассетсторе уже появились? Я тут начал один проектец, вот и думаю, может ваш опробовать гуй.


Релиз откладывается и на это есть веские причины: мы во всю переходим на свой рендер гуй контроллов, что до меня не было запланировано.
Если раньше у нас бэкнэндом выступал LegacyGUI, то сейчас мы рисуемся по-своему.

Потому сроки на прошлый месяц не актуальны, в конце этого месяца мы планируем завести только бету со всем нужным функционалом, вернуть весь вайсвиг.

Кратко расскажу, почему именно переход на кастомный рендер так важен.
LegacyGUI не умеет рисоваться с кастомными материалами, вообще никак.
Мы не имеем никакого контроля над клипингом гуя, он только в форме Rect, что достаточно печально.
LegacyGUI в 3д? нет, не слышал ( можно конечно рендерить в текстуру, но это такой костыль)
Кастомные контроллы = костыль

Сейчас мы имеем ООПшную архитектуру ядра, и ядро независимо, без всяких компонентов, может рендерить гуй. Какие плюсы это несет?
Контролы-объекты, Вы их просто объявляете и устанавливаете иерархию, кто в ком рисуется, это чертовски удобно для создания гуя кодом
Примерно так:
Синтаксис:
Используется csharp
public class MyGUIBehaviour : MonoBehaviour
{
     public Window window;
     public Button button1, button2;
     public Label label;

     void OnEnable()
     {
           window.AddControl(button1)
                      .AddControl(button2)
                      .AddControl(label);
          XGUI.AddControl(window);
     }
}
 


Все можно настроить как из инспектора, так и кодом.
Если выставить аттрибут [ExecuteInEditorMode], то Вы сможете настроить все гуи контроллы еще и с помощью вайсвига, единственное ограничение это невозможность изменить парента контролла, чтобы избежать коллизий - вы контролируйте иерархию контролов сами кодом.
У нас есть обертка компонентная, чтобы клепать гуй вообще одной рукой с помощью мышки, это обычные монобехи с одним контроллом внутри, вайсвиг собирает гуй с помощью него. Однако подход с отдельным ядром позволяет комбинировать создание гуя кодом и вайсвигом: получается Вы делаете геткомпонент и просто делаете тот же AddControl. Единообразие и гибкость.

Второй главный плюс такого ядра : Возможность рисоваться в Editor'e, для Нео это вообще один из основных плюсов. Не один гуи фреймворк на текущий момент не может этого. Вся динамика и интерактивность так же сохраняется - одно общее ядро.

Свое ядро принесло и еще несколько своих полезностей:
*Динамический атласинг, у нас все текстуры используемые в стилях гуя автоматические кидаются в атласы, если нужно добавить еще какие-то текстуры - без проблем. Мы все склеим. Динамический атласинг так же будет работать в рантайме, например Вы подгрузили пачку иконок для магазина или аватарок, фреймворк сам постепенно приклеит текстуры к атласу, чтобы снизить DC.
Для всего этого у нас свой формат спрайтов, потому что юнитеки к сожалению свои спрайты полностью окопали, а нам нужны меши, а точнее шейпы
*Шейпы - это произвольные формы для контролов, хоть звездочкой, хоть кружочком. Произвольное обрезание гуя любой формы(не только рект в случае LegacyGUI).
*Ох, еще раз скажу про материалы, сколько ими можно сотворить разных эффектов гуя
*Единообразие методов драг'н'дропа, селекта(что используется сейчас во всю в вайсвиге) позволяет спокойно все использовать в рантайм и по-умолчанию у пользователя появляется инструменты для выделения геймобъектов, например удобно для всяких стратегий.
*Никаких долбанных трансформов с их пересчетом матриц при любом вздохе, у нас это не было проблемой и при LegacyGUI, но мы сохраняем это свойство и сейчас.
*Сериализация гуя в свой формат: сохранение настроек окон у пользователя, сразу встроена в фреймворк. Благодаря свою формату, Ваш сeрвер сможет собирать каркас гуя, например для интерактивного магазина, прикреплять изображения и всё это отправлять клиенту, при этом ничего не зная о юнити. Обновление гуя клиента без ребилдинга клиента. Внешний редактор гуя.
*Готовый 3д рендер, гуй сразу 3д, даже если создали его кодом, можно крутить-вертеть как угодно. При этом этом сохраняется удобность, если Вам нужен обычный 2д, никакой дополнительной пляски.
*Комбинирование решений: основное окно редактирования у нас GameView это позволяет добиться пиксельной точности гуя и картинка у нас однозначно будет такая же, что и редакторе. Компоненты поддерживают идеологию юнитеков и всех текущих мейнстрим гуёв. Режим 3Д дает возможность перебраться в пайплайн рендера игры, чтобы сделать взаимодействие гуя с игровыми объектами, получать источники света для материала, повесить коллайдеры.

Мы по-другому смотрим на гуй: компонентная система неудобна для работы из кода + жирный оверхед от пересчета матриц трансформа при большой вложенности, а вот мы пошли другой дорогой и пока видим только одни плюсы. Компоненты лишь дополняют наш гуй, а не строятся на нем.

Еще из релизных фич, это трансферы гуя из NGUI -> XGUI, LegacyGUI -> XGUI, Daikon -> XGUI

Как видите, объем работы увеличился, потому стоит немного потерпеть, но оно того стоит.
Если есть желание отпишите мне в ЛС или Неодропу, и мы Вас пригласим на бета-тестирование к концу месяца.
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Re: Разве NGUI так может?

Сообщение Woolf 04 июл 2014, 02:32

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

Re: Разве NGUI так может?

Сообщение BenjaminMoore 04 июл 2014, 02:39

Woolf писал(а):Очень важный вопрос относительно комбинирования вашего гуя и дефолтного. К примеру, снизу текстура от дефолтного, сверху ваши кнопки - реально? У меня есть ваши ранние версии, я уже пробовал, вот к примеру такая задача - верхний скрин масштабируется по размеру экрана, кроме нижней области - там отступ от края экрана всегда 200 пикселей, нижняя панель в 200 пикселей может масштабироваться по ширине, но никогда по высоте, причем, при любых разрешениях. Пытался что-то изобрать xGUI, не получилось, плюнул, сделал тремя строчками нативного гуя ))

из этого описания я не понял над каким элементов нужно рисоваться, над нижним баром в 200 пикселей высотой?
если да, то это очень легко сделать и на старом XGUI
делаете контейнер пустой, убираете у него стиль, выставляете LayoutAnchor в LowerCenter, высоту четко задаете в 200 пикселей, ширину в 100%, позиция X 0, Y 0
в него кидаете свои кнопки и они всегда будут над этим ректом

отрисовку OnGUI можно регулировать Execute Order Scripts, мы так же рисуемся через него, потому нужно просто расположить выше или ниже ваш скрипт относительного нашего XGUIOnGUI
единственно с помощью XGUI не получится отрисовать одновременно разные контролы под и над Вашей текстурой
для этого нужно все таки перенести текстуру в XGUI
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Пред.След.

Вернуться в Инструментарий

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

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