Flash games development with Unity3D

gamgutturalΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

86 εμφανίσεις

Flash games development
with Unity3D
Valentin “valyard” Simonov
Interactive Lab
v@lent.in
/ 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
экспорте

с

самого

начала
проекта

Будут

продавать

как

аддон
за
400$ / 1500$







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$







Что

работает
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
/Temp/StagingArea/Data
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
Отладка
Debugging
Debug Player / flashlog.txt
mm.cfg
ErrorReportingEnable=1
TraceOutputFileEnable=1

Кастомная

консоль

Внешняя

консоль




Debug Player / flashlog.txt
mm.cfg
ErrorReportingEnable=1
TraceOutputFileEnable=1
Custom console
External console




Интеграция

с
AS3
AS3 integration
UnityEngine.Flash.ActionScript
ActionScript.Import("com.Bla");
ActionScript.Statement("trace({0})", “hi");
AS3
код

в

папке
ActionScript
.NET
класс
-> AS3
класс
[NotRenamed], [NotConverted]

Условная

компиляция
#if UNITY_FLASH
ActionScript.Import("flash.ui.Mouse");
ActionScript.Statement("Mouse.hide();", "");
#else
Screen.showCursor = false;
#endif




UnityEngine.Flash.ActionScript
ActionScript.Import("com.Bla");
ActionScript.Statement("trace({0})", “hi");
AS3 code in ActionScript folder
.NET class -> AS3 class
[NotRenamed], [NotConverted]
Conditional compilation




Загрузка

извне
External preloader
Flex SDK 4.6
Target Flash Player 11.1.0
wmode=direct
UnityShared.swc

Общение

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

Свой

прелоадер

Переопределение

классов
-
пустышек

в

прелоадере







Flex SDK 4.6
Target Flash Player 11.1.0
wmode=direct
UnityShared.swc
Communication with Unity3D
Custom preloader
Overriding dummy classes from
C#







Налог

на

скорость
Speed tax
Premium features:
Stage3D + domainMemory
Целевая

аудитория
Target audience
Experiments
Indie games
Browser games
Simple 3D*
Simple 3D*
* speed tax effect
MMOs
Experiments