Why Unity3D?

7 downloads 4316 Views 1MB Size Report
Flash games development with Unity3D. Valentin “valyard” Simonov. Interactive Lab [email protected] / va.lent.in / onenterframe.ru / @valyard ...
Flash games development with Unity3D Valentin “valyard” Simonov Interactive Lab [email protected] / va.lent.in / onenterframe.ru / @valyard

Почему Unity3D? Why Unity3D?

• 3D • Отличный IDE • Быстрое прототипирование • C#, .NET • Расширяемость • Экспорт под iOS и Android

• 3D • Great IDE • Fast prototyping • C#, .NET • Extensibility • Publishing to iOS and Android

Flash как платформа Flash as a platform

• Распространенность плагина • Stage3D, Domain Memory • Интерес “взрослых” игровых движков • UDK, Unity3D...

• Flash Plugin penetration • Stage3D, Domain Memory • Interest from “big” game engines • UDK, Unity3D

Tail Drift Unity3D Flash in a Flash contest winner

Текущее состояние Current state of Flash exporter

• 3.5 — preview • Можно скачать c unity3d.com • Не все фичи Unity3d • API будет меняться • Сложность отладки • Нужно думать о Flash

• 3.5 — preview • Download at unity3d.com • Not all Unity3d features work • API will change • Hard to debug • Have to keep in mind Flash

экспорте с самого начала проекта

export from the start of a project

• Будут продавать как аддон

• Will be sold as an add-on for

за 400$ / 1500$

400$ / 1500$

Что работает Stuff that works Почти все кроме:

• Некоторые фулскрин эффекты • Часть .NET • API системы частиц Shuriken • Профайлер • Загрузка ассетов через bundles и WWW • Raknet • Terrain, Cloth • Deffered Rendering • Аудио эффекты

Almost everything except: • Some fullscreen effects • Subset of .NET • Shuriken particle system API • Profiler • Assets loading via bundles and WWW • Raknet networking • Terrain, Cloth • Deffered Rendering • Audio effects

С чем можно столкнуться What problems you can face

• Не работают некоторые популярные скрипты • Нельзя получить stage • Не работают неожиданные части .NET, например: Convert.ToInt32, Regex, generics.

• Странные ошибки JavaScript • < версия шейдеров 2.0 • SWC вкомпиливаются полностью — не находит классы

• Some popular scripts don’t work • Can’t get reference to stage • Some unexpected parts of .NET don’t work: Convert.ToInt32, Regex, generics.

• Weird JavaScript errors • < Shader Model 2.0 • SWCs a fully compiled in — classes not found errors

Алгоритм экспорта Publishing algorithm 1. Исправить ошибки C# 2. Выпилить что не поддерживается 3. Отследить ошибки слишком сложного C# кода 4. Сломать голову над ошибками генерации AS3

1. Get rid of C# errors 2. Cut everything which is not supported 3. Track down complicated C# code errors 4. Fix weird AS3 generation errors

/Temp/StagingArea/Data

/Temp/StagingArea/Data

Отладка Debugging

• Debug Player / flashlog.txt • mm.cfg

• Debug Player / flashlog.txt • mm.cfg

ErrorReportingEnable=1 TraceOutputFileEnable=1

ErrorReportingEnable=1 TraceOutputFileEnable=1

• Кастомная консоль • Внешняя консоль

• Custom console • External console

Интеграция с AS3 AS3 integration

• UnityEngine.Flash.ActionScript

• UnityEngine.Flash.ActionScript

ActionScript.Import("com.Bla"); ActionScript.Statement("trace({0})", “hi");

ActionScript.Import("com.Bla"); ActionScript.Statement("trace({0})", “hi");

• AS3 код в папке ActionScript • .NET класс -> AS3 класс

• AS3 code in ActionScript folder • .NET class -> AS3 class

[NotRenamed], [NotConverted]

[NotRenamed], [NotConverted]

• Условная компиляция

• Conditional compilation

#if UNITY_FLASH ActionScript.Import("flash.ui.Mouse"); ActionScript.Statement("Mouse.hide();", ""); #else Screen.showCursor = false; #endif

Загрузка извне External preloader

• Flex SDK 4.6 • Target Flash Player 11.1.0 • wmode=direct • UnityShared.swc • Общение с Unity3D

• Flex SDK 4.6 • Target Flash Player 11.1.0 • wmode=direct • UnityShared.swc • Communication with Unity3D

loader.unityContent.sendMessage("Player", "OnMessage", new ASMessage("click!"));

• Свой прелоадер • Переопределение классовпустышек в прелоадере

• Custom preloader • Overriding dummy classes from C#

Налог на скорость Speed tax Premium features: Stage3D + domainMemory

Целевая аудитория Target audience

Experiments Indie games Simple 3D* Simple 3D*

* speed tax effect

Browser games Experiments MMOs