2012-03-13 4 views
0

Мне любопытно, будет ли в будущем понадобиться Scaleform (в текущей форме), учитывая, что теперь Flash имеет как Stage3D, так и встроенную поддержку Unreal Engine (я имею в виду, по крайней мере, в направлении Unreal Engine).Scaleform vs Stage3d

Я прошу об этом в основном из любопытства и потому, что мне не удалось найти слишком много информации о том, как UE работает с Flash. Кроме того, я не работал с Scaleform, только читал на нем (Scaleform workflow), и они нигде не упоминают stage3d.

Я не уверен, что это лучшее место, чтобы спросить о Scaleform (похоже, нет тега Scaleform), но мне кажется, что между ними и stage3d должен быть какой-то мост.

Что вы, ребята, думаете?

ответ

3

Stage3D предназначен для рендеринга 3D-игр и приложений. Scaleform - это инструмент 2D UI (с расширениями для отображения 2D элементов пользовательского интерфейса в 3D-пространстве), которые Unreal Engine отлично использует для своих меню и игровых HUD.

Этап 3D отображает Unreal в окне браузера, но Unreal использует Scaleform для отображения своего пользовательского интерфейса. Так что да, все еще есть необходимость в Scaleform. Рабочий процесс Scaleform упрощает разработку пользовательского интерфейса, а ускоренная масштабируемая многоядерная архитектура и рендеринг с многопоточным ядерным процессором Scaleform, а также специализированные инструменты помогают сделать его наиболее широко используемым промежуточным программным обеспечением для пользовательского интерфейса в игровой индустрии.

Большинство разработчиков используют его для создания пользовательского интерфейса на консоли & Названия компьютеров, с помощью мобильных игр, начинающих использовать Scaleform в качестве движка (см. Globz - TwinSpin - первая коммерчески выпущенная флеш-игра на iOS с использованием Scaleform). Благодаря движению таких движков, как Unreal и Unity, в окно браузера, благодаря Stage3D, Scaleform, без сомнения, будет использоваться для разработки пользовательского интерфейса для основанных на браузере 3D-заголовков.

+0

Хороший ответ, очищенный пара вещей. Я думал, что странно использовать flash-версию non-stage3d с Scaleform для создания пользовательского интерфейса, который входит в игру, которую позже можно будет воспроизвести в браузере с помощью Stage3d. Однако, поскольку (я предполагаю) Scaleform переводит флеш-код во что-то другое, как unrealscript, тогда это имеет смысл. -Итак, я видел о 2d-интерфейсах в трехмерном пространстве, о которых вы упомянули, но было бы неплохо, если бы они были на самом деле 3d, а не только двумя слоями. – Spectraljump

+0

Scaleform фактически не конвертирует флеш в UnrealScript, но вы можете создать пользовательский интерфейс без использования AS и использовать API Scaleform DirectAccess для управления анимацией анимации флэш-объектов, преобразованиями цвета, масштабированием, вращением, переводом и т. Д. Из UnrealScript (или C++). Scaleform может отображать 2D-флэш-объекты в 3D-пространстве внутри самого файла Flash (с переводом глубины z и поворотом x/y/z), а также рендеринг целых Flash-фильмов на 3D-объекты в игровом мире. Но это не 3D-движок, как Stage3D. True 3D просто не требуется при рендеринге элементов интерфейса - основная работа Scaleform. –

+0

Интересно. Но как вспышка затем запускается в видеоигре, если она не превращается во что-то еще и 3D ускоряется? Является ли движок игры своего рода браузером, например средой для запуска вспышки? Я понятия не имел, что это не правда. – Spectraljump

1

Scaleform принципиально отличается от Stage3D.

Stage3D - это API-интерфейс рисования для ActionScript для визуализации в 3D-пространстве. Stage3D - это слой абстракции для OpenGL. Он также имеет ограниченный набор функций, поскольку Flash Player должен защищать конечных пользователей от вредоносных атак. Stage3D также полностью отделен от исходного Flash Display Tree.

Scaleform - это Flash Player сам по себе и будет более сродни AIR, а затем Stage3D. В основном Scaleform использует дерево отображения Flash и преобразует активы Vector в многоугольники с помощью алгоритма тесселяции. Эти полигоны отображаются либо OpenGL, либо DirectX в зависимости от того, какой игрок Scaleform вы используете. Автор имеет полный аппаратный доступ к данным чертежа. Scaleform также имеет возможность запускать интерпретируемый код AS3 или меньше элементов на C++ на сцене.

В целом, Stage3D будет орошаться 3D-доступом для Flash Player. Scaleform в первую очередь используется для разработки богатых пользовательских интерфейсов, которые находятся на одном уровне с тем, что игроки испытывают в Интернете.

1

Правда 3D просто как правило, не требуется при визуализации элементов пользовательского интерфейса

Мы используем 3D-меню в наших гоночных играх (например, Dirt Showdown), поэтому его можно использовать при наличии и улучшения игры.

Я понятия не имел, что это не правда 3d

Scaleform оказывает текстуру. Он использует внутренне 2.5D, что означает, что он может подделывать направление просмотра на плоской текстуре. Эта текстура используется в игровом 3D мире, даже если ее визуализируется в автономной камере, чтобы ощутить оверлей.

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