0

考虑到现在 Flash 同时具有 Stage3D 和对虚幻引擎的原生支持(我的意思是,至少对虚幻引擎游戏),我很好奇将来是否需要 Scaleform(以当前形式)。

我问这个主要是出于好奇,因为我找不到太多关于 UE 如何与 Flash 一起工作的信息。另外,我没有使用过 Scaleform,只是阅读了它(Scaleform 工作流程),而且他们在任何地方都没有提到 stage3d。

我不确定这是否是询问 Scaleform 的最佳地点(似乎没有 Scaleform 标签),但在我看来,现在它们和 stage3d 之间应该有某种桥梁。

你们有什么感想?

4

3 回答 3

3

Stage3D 用于渲染 3D 游戏和应用程序。Scaleform 是一个 2D UI 工具(具有在 3D 空间中渲染 2D UI 元素的扩展),虚幻引擎使用它来为他们的菜单和游戏中的 HUD 带来很好的效果。

Stage 3D 将 Unreal 渲染到浏览器窗口,但 Unreal 使用 Scaleform 渲染其 UI。所以是的,仍然需要 Scaleform。Scaleform 工作流程使 UI 开发变得非常容易,Scaleform 的 GPU 加速、多线程核心架构和渲染器以及其自定义工具使其成为游戏行业中使用最广泛的 UI 中间件。

大多数开发人员使用它来创建控制台和 PC 游戏的 UI,手机游戏开始使用 Scaleform 作为引擎(请参阅 Globz - TwinSpin - 第一个在 iOS 上使用 Scaleform 商业发布的 Flash 游戏)。随着 Unreal 和 Unity 等引擎进入浏览器窗口,感谢 Stage3D,Scaleform 无疑也将用于开发基于浏览器的 3D 标题的 UI。

于 2012-03-13T18:58:32.250 回答
1

Scaleform 与 Stage3D 有着根本的不同。

Stage3D 是用于 Actionscript 的绘图 API,用于在 3D 空间中呈现视觉效果。Stage3D 是 OpenGL 的抽象层。它还具有有限的功能集,因为 Flash Player 必须保护最终用户免受恶意攻击。Stage3D 也完全独立于原始 Flash 显示树。

Scaleform 本身就是一个 Flash Player,它更类似于 AIR,而不是 Stage3D。从根本上说,Scaleform 使用 Flash 显示树并通过曲面细分算法将矢量资源转换为多边形。这些多边形由 OpenGL 或 DirectX 渲染,具体取决于您运行的 Scaleform 播放器。作者拥有对绘图数据的完全硬件访问权限。Scaleform 还能够在舞台上运行解释过的 AS3 代码或更少的 C++ 驱动元素。

一般来说,Stage3D 将淡化 Flash Player 的 3D 访问。Scaleform 主要用于开发与玩家在 Web 上的体验相当的丰富 UI 体验。

于 2012-06-24T21:55:01.027 回答
1

渲染 UI 元素时通常不需要真正的 3D

我们在赛车游戏(例如 Dirt Showdown)中使用 3d 菜单,因此可以在可用时使用它并改进游戏。

我不知道这不是真的 3d

Scaleform 渲染到纹理。它在内部使用 2.5D,这意味着它可以在平面纹理上伪造视图方向。此纹理用于游戏 3d 世界,即使它在独立相机中渲染以产生叠加感。

渲染本身也是 GPU 加速的,您可以在 youtube 上找到示例,其中显示了它为渲染形状而制作的网格。本机闪存在软件 (CPU) 上执行此操作。它有它的优点和缺点,但除非真的需要这些知识,否则我不想长篇大论。

于 2013-01-18T09:12:31.683 回答