Unigine Engine — новый уникальный

    Пролог


    Не так давно я увидел showreel движка, который выглядит более чем конкурентно

    showreel


    В этой статье я максимально кратко расскажу об этом движке и косвенно сравню с прямыми конкурентами.

    зарегестрироваться и скачать тут

    Немного про историю


    Все началось в 2004(!) году с Александра Запрягаева и его opensource проекта.

    В 2010 году вышел Heaven Benchmark на основе Unigine.

    В 2012 вышла спорная с точки зрения геймплея, но симпатичная OilRush.

    OilRush

    В 2017 вышла забавная индюшка

    Sumoan

    Текущее состояние


    10 апреля 2020 вышла Community версия, которую можно, использовать если у вашей компании доход меньше 100к$ или для некоммерческого проекта.

    Интерфейс


    Под спойлером краткий обзор
    В целом, если вы пользовались Unity, то в редакторе вас не встретит ничего нового:

    image

    Сразу хочу отметить то лучшее что ребята взяли от Unreal engine: доступ ко всем необходимым свойствам объекта вроде LOD ,Render ,Collision etc.

    image

    В меню просмотра сцены есть удобный дебаг рендера:

    image

    Иерархия сцены построена странно, в ней есть отдельно материалы на сцене, отдельно объекты:

    image alt

    image alt

    К минусам хочется отнести то, что нельзя одновременно открыть две сцены, так же система вкладок далека от Unreal engine с точки зрения удобства.

    Снизу находиться обычный asset browser и консоль, которые такие же как и везде:

    image
    Хотелось бы отметить странный показатель папки, в которой ты сейчас находишься

    Скриптинг и апи


    Описание
    Для разработчика представлен выбор из двух языков: С++ и С#
    пример кода на с#

    using Unigine;
    
    namespace UnigineApp
    {
    	class AppWorldLogic : WorldLogic
    	{
    /* .. */
    		public override bool Update()
    		{
    	// getting current controls
    	Controls controls = Game.Player.Controls;
    
    	// checking controls states and reporting which buttons were pressed
    	if (controls.ClearState(Controls.STATE_FORWARD) != 0 || controls.ClearState(Controls.STATE_TURN_UP) != 0)
    	{
    		Log.Message("FORWARD or UP key pressed\n");
    	}
    	else if (controls.ClearState(Controls.STATE_BACKWARD) != 0  || controls.ClearState(Controls.STATE_TURN_DOWN) != 0 )
    	{
    		Log.Message("BACKWARD or DOWN key pressed\n");
    	}
    	else if (controls.ClearState(Controls.STATE_MOVE_LEFT) != 0  || controls.ClearState(Controls.STATE_TURN_LEFT) != 0 )
    	{
    		Log.Message("MOVE_LEFT or TURN_LEFT key pressed\n");
    	}
    	else if (controls.ClearState(Controls.STATE_MOVE_RIGHT) != 0  || controls.ClearState(Controls.STATE_TURN_RIGHT) != 0 )
    	{
    		Log.Message("MOVE_RIGHT or TURN_RIGHT key pressed\n");
    	}
    
    			return true;
    		}
    	}
    }

    и на С++

    #include <UnigineGame.h>
    
    /* .. */
    
    int AppWorldLogic::update() 
    {
    
    	// getting current controls
    	ControlsPtr controls = Game::getPlayer()->getControls();
    
    	// checking controls states and reporting which buttons were pressed
    	if (controls->clearState(Controls::STATE_FORWARD) || controls->clearState(Controls::STATE_TURN_UP))
    	{
    		Log::message("FORWARD or UP key pressed\n");
    	}
    	else if (controls->clearState(Controls::STATE_BACKWARD) || controls->clearState(Controls::STATE_TURN_DOWN))
    	{
    		Log::message("BACKWARD or DOWN key pressed\n");
    	}
    	else if (controls->clearState(Controls::STATE_MOVE_LEFT) || controls->clearState(Controls::STATE_TURN_LEFT))
    	{
    		Log::message("MOVE_LEFT or TURN_LEFT key pressed\n");
    	}
    	else if (controls->clearState(Controls::STATE_MOVE_RIGHT) || controls->clearState(Controls::STATE_TURN_RIGHT))
    	{
    		Log::message("MOVE_RIGHT or TURN_RIGHT key pressed\n");
    	}
    
    	return 1;
    }
    

    Tак выглядит логика среды выполнения, в принципе ничего необычного:

    image

    на самом деле такое поверхностное сравнение не имеет смысла, но отсутвие вызова 100 библиотек и 10 пространств имен ради простых вещей меня уже радует, чисто визуально код выглядит лаконично и названия классов имено такие какие ждешь что лично меня опять же радует. Поработаю месяц на движке и расскажу подробнее или нет, потому что куда веселее
    рассказать о разработке под мобильный vr


    Платформы


    Коротко про поддерживаемые платформы
    Из коробки есть поддержка:

    • Windows
    • linux и OSX
    • VR: steamvr
    • Обещают android, ios, playstation, etc… но не понятно по датам


    Рендер — шейдинг — vfx


    Подробно
    Первое что хочется отметить: даже на AAx4 все выглядит очень мягко и лесенок не видно
    Сцена на 500к полигонов с кучей неплохих vfx бегает в 300+fps даже на моем скромном ноутбучном железе
    Particicle editor

    image

    Внутри есть все для создания современного pbr, причем работает во вьюпорт все быстрее чем в UE4.

    Просто робот из примера от разработчиков движка:

    image

    А вот так выглядит низкие настройки графики в понимании авторов в уже собранном проекте:

    image

    Кстати внутри компании есть собственного алгоритм:
    [Practical Cascaded Shadow Maps](https://developer.download.nvidia.com/SDK/10.5/opengl/src/cascaded_shadow_maps/doc/cascaded_shadow_maps.pdf)

    Чего в нем хорошего?


    • много примеров, гайдов и референс кода
    • годная поддержка всех современных фичей от nvidia про которые надо писать отдельной статьей
    • сравнительно низкий порог вхождения несмотря на то что UI все еще сырой

    Эпилог


    Сейчас Unigine хоть и сырой, и не поддерживает основные платформы, но уже выглядит многообещающие, и возможно через несколько лет вместе с Unreal Engine и Unity в один ряд встанет и Unigine.
    [ Авторский телеграм канал ]( tglink.ru/response1000000 )

    мои игры



    Дополнительные ссылки


    [большое интервью](https://secretmag.ru/trends/players/unigine.htm)
    [мигрантам с unreal engine ](https://developer.unigine.com/ru/docs/2.11/migration/from_ue/?rlang=cpp)
    [мигрантам с unity engine](https://developer.unigine.com/ru/docs/2.11/migration/from_unity/?rlang=cpp)
    Семь лет назад выходила [игра](http://flying-cafe.com/ru.shtml)

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 46

      +4

      Периодически читаю новости в их блоге. Сложилсь впечатление, что это очень мощная платформа, но сейчас движок используют в основном в более узких/профессиональных сферах, чем игры (симуляторы, визуализации и т.д.).
      Часто выходят обновления, например до недавнего времени Community версии и поддержки C# не было, только C++ (по которому они еще когда-то проводили курсы).
      Наверное идеальный был бы движок для Star Citizen, сейчас из игр на UNIGINE делают Dual Universe (кажется довольно успешно).

        +4

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

          0

          Честно говоря симуляторы мало чем отличаются от игр с точки зрения процесса разработки. Просто изначально нет необходимости "оказуаливания" механик

            +4

            Я так понимаю, у unigine есть заточенные под это фичи (64 битные координаты, готовые и оптимизированные системы для создания масштабного рельефа и лесов и т.д.). Тем же разработчикам Star Citizen 64 битные координаты и физику пришлось добавлять самим в свой потомок Cry Engine, насколько я помню.
            Но это только впечатление от прочитанного в сети, конечно, своего опыта ни в том ни в другом толком нет.

          +12
          Если движок за 15+ лет не вышел из ниши бенчмарков и визуализации то вряд ли что-то изменится. На рынке где Unity, Unreal и Godot перекрывают собой большую часть геймдев аудитории нет места еще кому-то. Даже CryEngine не смог. И не думаю что наличие более хорошей документации ему помогло бы.
            +1
            А конфигурации железа можно узнать? Тут народ бает об одном кадре в пять секунд, а у вас волшебные 100500 фпс. Я запускал демки, они еле шевелились. Пардон, ошибся с веткой дискуссии.
              0

              I5 7300hq +1050, 8gb оперативки, HDD 5400 оборотов.

                0
                Unigine входит(в версиях 1.0 и 1.1) вPTS почти 10 лет — уверен, вы найдёте в списке протестированного любое интересное вам железо :)
                (иногда из-за особенностей/багов надо проверять по разным OS)
                  0
                  Надеюсь не на ноутбуке запускали? Как я понял, он по умолчанию запускается на встройке и из-за этого дико тормозит.
                  +1

                  Только вот я unity стал в последнее время движком для гиперкежей, и получить картинку хорошую для 2020 года без танцев с бубном довольно проблематично. A unreal кушает столько железа что у меня добавления любого объекта >30к поликов вешает на компиляцию шейдеров движок на парк часов. И это при условии что ничего особого нет внутри сцены. Unigine куда меньше тупит по сравнению с анрилом и нормально использует cuda для света, так же как и многоядерность. Cryengine остановился в своем развитии году в 15

                    +1
                    Тут только остается сказать, «вы не умеете его готовить». Анрил стал лидером рынка как раз благодаря своим инструментам, технологиям и производительности. На нем и игры соответствующие всегда выходили и выходят. Юнити пытаются вытащить из инди сцены своими демками, но получается слабо. Крайэнжин вообще не понятно что с ним творится. Вроде технически его поддерживают на уровне остальных, инструментарий вполне неплохо выглядит, а игр на нем нет и не было никогда толком.

                    А unigine. Как уже сказали, если за столько времени он так и не выбрался из бенчмарков железа, то нет предпосылок, чтобы это случилось в ближайшее время. А их и не будет, пока он не покроет все платформы. Рынку он не нужен. У инди есть юнити. У крупных игроков есть анрил и инхауз двиги. Им разве что уходить в не игровые области.
                      0

                      Сейчас у unigine есть очень крутые технологические решения которые вполне могут подвинуть анрил и юнити. Особенно с точки зрения рендеринга и больших пространств. Я пока не смотрел демки больших проектов, но подозреваю что они неплохи.

                        +1
                        Допустим даже они есть и у других двигов подобного нет (в чем я сильно сомневаюсь, по крайней мере в плане рендера), чего толку то? Это рынок одной двух игр. Те большие пространства, которые используют в своем большинстве крупные игры, достаточно того, что умеет анрил и иже с ними. Days gone тот же взять недавний. Никакие преимущества unigine в этой области никак не подвинут конкурентов. Тем более, когда в списке платформ нет консолей. Это навсегда оставит их в области бенчмарков и 3д визуализации.
                      0
                      Мифы какие-то рассказываете.
                      У меня есть нетбук на AMD-E, я по приколу на нём запустил UE4, он вполне успешно запустился в режиме темплейта «Шутер» и это даже было не слайдшоу.
                      A unreal кушает столько железа что у меня добавления любого объекта >30к поликов вешает на компиляцию шейдеров движок на парк часов.

                      Вы несете какую-то дичь. Компиляция материалов связана с сложностью геометрии примерно никак.
                        0
                        Что за версия движка и за сколько вы готовы продать этот чудо нетбук? У меня ноут на i5 7700hq не то чтобы вешается на темплейтах, но тупит. Ну и опять же когда материал модель с материалом выноситься на сцену на ней начинает считаться свет, и тогда геометрия имеет значение.
                      +2
                      На Unigine вышел симпатичный и очень атмосферный квест Cradle от разрабов сталкера (хотя бы из-за музыки советую глянуть, она офигенна!). Так что не только бенчмарки и симуляторы все-таки. С другой стороны, лет 7 назад, когда я посматривал на движок и писал разрабам (тогда он только по запросу был) — сложилось впечатление, что на инди разработчиков им слегка так пофигу.

                      Движ хороший (особенно в том, что касается рендеринга), но банально не хватает общих фич и поддержки мобилок и консолей. Если бы тогда правильно себя спозиционировали — уже давно были бы в одном ряду с Unity и Unreal. Но хорошо, что хоть сейчас дошло, похоже) Так что удачи им!

                      P.S. Но имхо сейчаc Unreal Engine самый топчик. Их подход с опенсорсом и community-driven подходом сработал на 100%. Они все сделали правильно, молодцы.
                        0
                        Cradle запомнилась не только атмосферностью, но и ощутимыми тормозами при немного спорном качестве отрисовки на не самом слабом на момент выхода железе :(
                          0
                          Семь лет назад на инди всем было пофиг. Никто не понимал как на инди зарабатывать. И вообще, тогда витало старое мнение про «платите миллион долларов, получаете лицензию на движок».
                          И только выход уешки шесть лет назад изменил ситуацию. А вернее просто перевернул стол.
                          Я тогда работал с С4. Вот у разраба тогда подгорело… Так подгорело, что он всех своих клиентов нафиг послал.
                        +3
                        Для многих геймдев компаний использование UNIGINE сопряжено с большими рисками и сложностями:
                        — где найти специалистов, которые эффективно могут работать с UNIGINE;
                        — сетевое API в зачаточном состоянии;
                        — нет поддержки iOS/Andorid и консолей, а когда появится, то будет ли поддержка достаточная. Это сильно ограничивает игровую студию в выборе проектов, которые она может реализовать;
                        — на сколько в реальности API UNIGINE гибкое и позволяет добавлять новый функционал;
                        — как быстро команда UNIGINE исправляет баги и решает проблемы.

                        Игровые компании это прежде всего бизнес, и не все готовы экспериментировать с инструментарием. Команде UNIGINE придется долго и упорно развивать свой продукт, если они хотят потеснить Unity и UE4.
                          0

                          Да, как у любого движка на первом этапе есть проблемы со специалистами, но я думаю что если они проддержат индюшников то есть шанс сделать его куда более народным.

                            +2
                            Так ведь движку уже больше 10 лет, какой «первый этап»? Как бы не были прикольны те 2-3 фичи, которых больше ни у кого нет, но ребята тупо опоздали выходить в свет, да еще и крайне неготовы, откровенно говоря. Можно хотеть и надеяться, но скорее всего в массы так и не пойдет.
                          +1
                          Понятно, что в движок вложено уже огромное количество работы, сайт выглядит отлично в смысле маркетингового булшита… А вот какой-либо технической документации найти там не удалось. Она вообще есть?
                          +1
                          А почему вы движок назвали «новый»?

                          Для справки — в Phoronix Test Suite в виде теста версии 1.0.1 он минимум с декабря 2010го (реально — чуть дольше) — т.е. почти 10 лет им гоняют разное железо.
                            0

                            Потому что и обновление новое, и сейчас он играет в том же подразделении что юнити с анрилом

                              +2
                              Он и 10 лет назад был технически соизмеримым/лучше с ID/Cry/UT/Unity и сильнее намного Godot, но ведь дело в суппорте! (а про ваше орфо, уж извините, в личку)
                                0
                                по ощущениям еще и в пиаре, тк товарищи вообще не паряться с тем чтобы на каждом углу кричать какие они крутые, и что время обработки кадра у них меньше, и памяти с желехом он кушает меньше чем у юнити(для одинковых моделей). У меня есть надежда что сейчас на него посмотрят индюшники из гринлайта и пойдут пилить свои хоррор квесты на нем, а не на юнити.
                            0
                            Хорошая новость — надо пощупать руками «вдруг оптический обман зрения»?
                              0
                              там для этого есть шикарный дебагер графики и моделек. даже если движок не стрельнет то буду его использовать для дебага vfx
                                0
                                Я не в этом смысле, чтоб дебажить, просто когда первый раз (давным-давно) стали говорить о возможности получить некоммерческую версию SDK, там условия доступа к нему были такие как в викторианский клуб ;) «Вышлите нам емейл, мы посмотрим достойны ли вы его» :)
                                  0
                                  у них вообще довольно странное отношение к community, вроде как есть форум и тд, а вроде как не дают исходников(тк комьюнити могло бы помочь быстрее выкатить поддержку мобилки к примеру)
                              0
                              Спасибо за статью! Возможности Unigine действительно впечатляют.

                              Вообще, было бы здорово увидеть сравнение производительности современных движков со схожими настройками графики, скажем, по FPS, средней загруженности процессора и потребляемой памяти. Притом можно протестировать на разных API — OpenGL, DirectX и Vulkan.
                                0
                                по хорошему надо пилить серию статей и тыкать его на разном железе с разными моделями, если хотите — пишите в телеграмм можем совместно этим заняться)
                                  0
                                  Сделать адекватное сравнение практически невозможно.
                                  Поставьте рядом грузовик и седан и попробуйте сравнить. По каким критериям сравнивать? В каких условиях?
                                    0
                                    пример с грузовиком и седаном не особо актуален. Любой софт выполняющий +- одни и теже функции можно сравнить с точки зрения пользовательского опыта и простоты получения одного и того же результата. Вы хотите сказать что нельзя сравнить Unity /Unreal /Unigine/Cryengine? Я так не думаю. Все 4 в на пк рынке примерно одинаково позиционируются, так что ваше сравнение некорректно
                                      0
                                      Ну давайте сравним применимость Unity и UE в кино. Как оно?
                                  +1
                                  На самом деле классная новость, вчера скачал, потыкать еще не успел. Но запилить проект однозначно попробую на Unigine.
                                    0
                                    ещё один Neoaxis? *осёл из Шрека*
                                      0
                                      хороший вопрос. На самом деле сказать сложно, но тут как минимум есть темная тема, что является неоспоримым плюсом на qled мониторе.
                                      0
                                      Хочется пожелать этим упорным ребятам разрабам удачи. И всё таки дождаться, когда UE оступится, подобно intel сегодня. Намекаю на «удачу» AMD. :)
                                        +1
                                        На мой взгляд, с community версией они припозднились лет на 10, а также прозевали нишу, которую очень удачно занял Unity. А так движок очень технологичный и очень жаль, что на нем нет крутых тайтлов.
                                          +1

                                          Я когда увидел их вр демку захотел что то запилить. Если оно работает в половину так же круто, я только на нем буду пилить desktop vr.

                                            0
                                            А что особенного в их ВР демо?
                                              0
                                              Например качество [картинки](https://www.youtube.com/watch?v=K0TG8-GfTYM) на уровне(если не выше) нынешнего флагмана vr Half life alyx.
                                                0
                                                Я что-то пропустил? Разве в той же халве качество картинки определяется чем-то кроме уровня контента? Я там никаких особенных технологий не заметил, по сравнению с тем, что может UE или Unity.

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое