Pull to refresh

unity3d как средство разработки трехмерных flash приложений

Reading time 4 min
Views 6K


На Хабре прошло незамеченным событие довольно-таки значимое в мире gamedev’a – unity3d обновилась до версии 3.5 . Помимо прочего, в этом релизе появилась возможность компилировать проекты под платформу Adobe Flash .
Что это дает разработчикам игр и какие возможности открывает перед digital рекламой?

Обо всем этом рассказать, хотя бы коротко, будет совсем нелишним. Тем более, что пока еще можно скачать версию с экспортером под flash абсолютно бесплатно. С выходом из состояния “developer preview” эта возможность будет стоить отдельных денег.

Всем любопытствующим добро пожаловать под хабракат!

О самом движке unity3d рассказывать не имеет смысла, на хабре достаточно статей на эту тему. Выход версии 3.5 был очень долгожданным и принес целый ряд приятных нововведений.
Сами по себе они вполне достойны отдельного повествования, я лишь коротко упомяну их:
  • новая система частиц shuriken: полностью переписанные частицы, с огромным потенциалом;
  • собственный pathfinding, очень быстрый и приятный;
  • light probes – псевдоотскоки света от стен, сильно улучшают картинку и достаточно дешевые по производительности;
  • встроенная поддержка рендера в HDR и гамма коррекция;
  • родная система LOD-ов;
  • поддержка Google Native Client – помимо прочего, дающая возможность создавать проекты под linux запуская их из google chrome

Ну и самое любопытное и интересное – появился экспортер под Adobe Flash!



Flash, как платформа для браузерных игр, самая популярная в мире. Кто бы что ни говорил, он установлен на подавляющем большинстве клиентских машин. Поскольку этот плагин самый распространенный, то логично, что аудитория у него самая широкая в интернете.

Кроме того, существующие популярные игровые площадки изначально заточены под flash. Такие монстры как Kongregate и Armor Games, социальные сети – facebook, вконтакте и.т.д. дают огромную армию игроков и у всех стоит плеер от Adobe. Да, тут можно поспорить, что, мол, тот же Kongregate размещает игры на unity3d, да и в социальных сетях продукты подобного рода уже не редкость. Но! Не у всех стоит unity плеер и не каждый спешит установить его себе.
А разработчику хочется иметь как можно более широкую аудиторию.

Теперь же можно портировать свой (готовый) проект из unity во flash применив минимальное количество усилий. Но еще далеко не все гладко и идеально, есть вещи которые пока не реализованы. Это лишь только версия “developer preview” и вполне можно ожидать, что к релизу все станет намного лучше.

Еще одна очень заманчивая особенность платформы flash состоит в том, что это самая продвинутая платформа для красивых пользовательских интерфейсов (GUI).
Интерфейсы на flash делать проще, быстрее и попросту дешевле. Они получаются богатыми на анимацию, всяческие красивые переходы и переливы. Найти специалиста аниматора на flash намного проще, чем программистов, которые плюясь и матюгаясь будут отлаживать такие «рюшки» как анимация и эффекты в GUI. Дальновидные «Scaleform» не зря зарабатывают на своем продукте.
Теперь же такая возможность есть и у разработчиков на unity.

Если посмотреть в сторону рекламных компаний и их промо-сайтов – крупные бренды практически никогда не согласились бы сделать сайт, конфигуратор или шоурум на сомнительной (с точки зрения распространенности плагина) технологии вроде unity3d, shiva, nebula и т.д. Да, попытки были, кто-то что-то делал и быть может даже удачно, но охват аудитории всегда страдал. Теперь же это стало возможным.

Клиентам (в данном случае это рекламные агентства) будет абсолютно все равно на чем разрабатывается продукт. Будет то away3d, alternativa3d или свое собственное детище – будет важен лишь результат.
Выбор конечно всегда остается за разработчиком, но на мой взгляд unity подходит на эту роль прекрасно. Скорость разработки продуктов на нем значительно выше, соответственно низка и себестоимость.



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

Поддерживается:
  • Lightmapping
  • Occlusion culling
  • Basic scripting
  • Editor scripting (JavaScript / C# / Boo). Note: for JavaScript, use #pragma strict.
  • Custom shaders
  • Animation / skinning
  • Basic audio features, such as AudioSource / AudioListener
  • Physics
  • Navigation meshes
  • Baked substance textures
  • PlayerPrefs
  • UnityGUI, except for text input
  • Realtime shadows

Не поддерживается:
  • Unity profiler
  • Asset bundles
  • Text input in UnityGUI
  • WWW classes. Note that you can write your own ActionScript that uses Adobe networking APIs.
  • Raknet networking (if you need networking, you can write it in Action Script 3 directly, using flash API)
  • Terrain
  • Cloth
  • Using VertexLit shaders in combination with:
    — Specular highlights
    — Spot lights
    — Emissive material color
  • Advanced audio features, such as audio effects. Also pitch manipulation is not supported.
  • Deferred rendering
  • AnimationEvents that carry arguments

Частично поддерживается:
  • Image Effects. Some work, some don’t.
  • Not all parts of .NET scripting work (lambda expressions and LINQ aren’t supported, for example)
  • GUIText will have a dramatic impact on performance
  • The new Particle System (Shuriken) works, but scripts that use the Shuriken API will fail to convert to flash

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

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

Также, тут можно посмотреть, что мне удалось добиться от второй версии шейдеров (автомобиль из картинки к посту).

Познакомиться поближе со списком всех фич версии 3.5 можно здесь.

Буду рад ответить на вопросы в комментариях.

Спасибо что дочитали до конца!
Tags:
Hubs:
+23
Comments 40
Comments Comments 40

Articles