Разве NGUI так может?
Добавлено: 28 дек 2013, 00:32
Предлагаю вашему вниманию, небольшую демку возможностей моего фреймворка, построенного полностью на обычном Unity GUI, но, смею надеяться, лишённого многих её недостатков и неудобств.
Сборка и настройка интерфейсов осуществляется в редакторе Unity в режиме WISIWIG - все изменения и дополнения мгновенно отображаются прямо в окне GameView без включенного Play режима.
Система иерархична, но не использует информацию о положении трансформов, поэтому, независимо от глубины и разветвлённости иерархии, не подвержена тормозам, возникающим при работе с глубоко эшелонированными трансформами.
Всё компонентно. Каждый элемент интерфейса - отдельный монобех. Но, даже самый изощрённый UI, будет использовать всего лишь один OnGUI для прорисовки интерфейса любой мыслимой сложности.
В данной демке, в зависимости от количества объектов в Scroll View, на моём компе загрузка CPU :
100 элементов в скролле : 1 миллисекунда.
1000 элементов в скролле : 4 - 4.5 миллисекунды.
GPU в обоих случаях : 0.18 миллисекунд (82 DrawCalls)
DrawCalls можно было бы и снизить, просто демка не шибко ориентирована на их понижение. Но, поверьте мне на слово, их количество далеко не так страшно, как все привыкли думать. В Unity 4.x это уже совсем не такая проблема, как было раньше. 0.18 миллисекунды на рендеринг, мне кажется это ни о чём (карта у меня далеко не самая навороченная. Ей уже года три.)
Фреймворк ориентирован в первую очередь на дизайнеров. Опыт показал, что на освоение системы, вполне достаточно 15-20 минут для человека, даже отдалённо не представляющего себе, что такое Unity GUI. Дизайнер собирает и настраивает шаблон интерфейса, передаёт его программисту, который реализует события кликов и пр. что обычно делается в GUI и полностью избавлен при этом от обычной пляски с бубном над прорисовкой и настройкой кнопочек, скроллов, лейблов и прочей гуёвой свистопляски.
На последок, небольшой анекдот. Пока я собирал эту демку (на это ушло что-то около часа) на крайнюю нижнюю кнопку я поставил циферку 100500 и с дуру нажал на неё (если вы ещё не посмотрели демку, нижние кнопки создают элементы интерфейса, отображающиеся в скролле). Юнька скрипела несколько минут, а я грыз ногти, пытаясь вспомнить, сохранил ли я сцену перед Play или нет. И... Я сам не поверил своим глазам : спустя минут пять, Юнька разрешилась от бремени, выкатив мне 100500 элементов GUI в одном скроллере! FPS правда был не очень (4-5 кадров в секунду), но IT'S A LIVE !
Надеюсь, у меня хватит терпения, соорудить для проекта небольшую справку (в действительности, API мизерное. Практически из десятка пунктов и правил.) и несколько няшных демок (туторов), чтобы в январе выпустить проект в свет.
З.Ы. На всякий случай уточню : свиток тягается мышью. Как это принято на мобилках. Не только реагирует на прокрутку колёсика.
Слева вверху- кнопка полноэкранного режима. Лучше запустить и его. За одно, можно посмотреть, как замечательно перестраивается пикселькорректный фон под полноэкранное разрешение.
Справа вверху - пасхалка
Для проекта (проектов), который я сочту интересным и серьёзным, могу предоставить XGUI бесплатно. Но, после публикации на AssetStore его нужно будет купить для удобства обновлений. Дорого стоить не будет.
Бесплатный саппорт в течении января 2014 гарантирован.
Android APK. Пожалуйста, отпишитесь в теме, как у кого работает и на каком устройстве.(9.25 mb)
(Web Demo обновлено и перезалито 04.01.2014)
Тулбар с HTML тегами для ReachText
Сборка и настройка интерфейсов осуществляется в редакторе Unity в режиме WISIWIG - все изменения и дополнения мгновенно отображаются прямо в окне GameView без включенного Play режима.
Система иерархична, но не использует информацию о положении трансформов, поэтому, независимо от глубины и разветвлённости иерархии, не подвержена тормозам, возникающим при работе с глубоко эшелонированными трансформами.
Всё компонентно. Каждый элемент интерфейса - отдельный монобех. Но, даже самый изощрённый UI, будет использовать всего лишь один OnGUI для прорисовки интерфейса любой мыслимой сложности.
В данной демке, в зависимости от количества объектов в Scroll View, на моём компе загрузка CPU :
100 элементов в скролле : 1 миллисекунда.
1000 элементов в скролле : 4 - 4.5 миллисекунды.
GPU в обоих случаях : 0.18 миллисекунд (82 DrawCalls)
DrawCalls можно было бы и снизить, просто демка не шибко ориентирована на их понижение. Но, поверьте мне на слово, их количество далеко не так страшно, как все привыкли думать. В Unity 4.x это уже совсем не такая проблема, как было раньше. 0.18 миллисекунды на рендеринг, мне кажется это ни о чём (карта у меня далеко не самая навороченная. Ей уже года три.)
Фреймворк ориентирован в первую очередь на дизайнеров. Опыт показал, что на освоение системы, вполне достаточно 15-20 минут для человека, даже отдалённо не представляющего себе, что такое Unity GUI. Дизайнер собирает и настраивает шаблон интерфейса, передаёт его программисту, который реализует события кликов и пр. что обычно делается в GUI и полностью избавлен при этом от обычной пляски с бубном над прорисовкой и настройкой кнопочек, скроллов, лейблов и прочей гуёвой свистопляски.
На последок, небольшой анекдот. Пока я собирал эту демку (на это ушло что-то около часа) на крайнюю нижнюю кнопку я поставил циферку 100500 и с дуру нажал на неё (если вы ещё не посмотрели демку, нижние кнопки создают элементы интерфейса, отображающиеся в скролле). Юнька скрипела несколько минут, а я грыз ногти, пытаясь вспомнить, сохранил ли я сцену перед Play или нет. И... Я сам не поверил своим глазам : спустя минут пять, Юнька разрешилась от бремени, выкатив мне 100500 элементов GUI в одном скроллере! FPS правда был не очень (4-5 кадров в секунду), но IT'S A LIVE !
Надеюсь, у меня хватит терпения, соорудить для проекта небольшую справку (в действительности, API мизерное. Практически из десятка пунктов и правил.) и несколько няшных демок (туторов), чтобы в январе выпустить проект в свет.
З.Ы. На всякий случай уточню : свиток тягается мышью. Как это принято на мобилках. Не только реагирует на прокрутку колёсика.
Слева вверху- кнопка полноэкранного режима. Лучше запустить и его. За одно, можно посмотреть, как замечательно перестраивается пикселькорректный фон под полноэкранное разрешение.
Справа вверху - пасхалка
Для проекта (проектов), который я сочту интересным и серьёзным, могу предоставить XGUI бесплатно. Но, после публикации на AssetStore его нужно будет купить для удобства обновлений. Дорого стоить не будет.
Бесплатный саппорт в течении января 2014 гарантирован.
Android APK. Пожалуйста, отпишитесь в теме, как у кого работает и на каком устройстве.(9.25 mb)
(Web Demo обновлено и перезалито 04.01.2014)
HTML код для вашего блога :
ОБНОВЛЕНИЯ
Тулбар с HTML тегами для ReachText