考虑到现在Flash同时支持Stage3D和本机对虚幻引擎的支持(我的意思是,至少对虚幻引擎游戏),我很好奇未来是否需要Scaleform(目前的形式)。
我问这个问题主要是出于好奇,因为我找不到太多关于UE如何使用Flash的信息。此外,我没有使用过Scaleform,只读过它(Scaleform工作流),他们在任何地方都没有提到stage3d。
我不确定这是否是询问Scaleform的最佳位置(似乎没有Scaleform标签),但在我看来,现在他们和stage3d之间应该有某种桥梁。
你们觉得怎么样?
Stage3D用于渲染3D游戏和应用程序。Scaleform是一个2D UI工具(具有在3D空间中渲染2D UI元素的扩展),虚幻引擎将其用于菜单和游戏中的HUD,效果非常好。
Stage 3D将Unreal渲染到浏览器窗口,但Unreal使用Scaleform来渲染其UI。所以,是的,仍然需要Scaleform。Scaleform的工作流程使UI开发变得非常容易,Scaleform加速的GPU多线程核心架构和渲染器及其自定义工具有助于使其成为游戏行业中使用最广泛的UI中间件。
大多数开发人员都在使用它在控制台上创建UI;PC游戏,移动游戏开始使用Scaleform作为引擎(参见Globz-TwinSpin-第一款在iOS上商业发布的Flash游戏,使用Scaleform)。随着Unreal和Unity等引擎进入浏览器窗口,得益于Stage3D,Scaleform无疑也将用于开发基于浏览器的3D标题的UI。
Scaleform与Stage3D有着根本的不同。
Stage3D是Actionscript在3D空间中渲染视觉效果的绘图API。Stage3D是OpenGL的抽象层。它还有一个有限的功能集,因为Flash Player必须保护最终用户免受恶意攻击。Stage3D也与最初的Flash Display Tree完全分离。
Scaleform本身就是一个Flash播放器,更类似于AIR,而不是Stage3D。从根本上讲,Scaleform使用Flash显示树,并通过镶嵌算法将矢量资源转换为多边形。这些多边形由OpenGL或DirectX渲染,具体取决于您正在运行的Scaleform播放器。作者拥有对绘图数据的完全硬件访问权限。Scaleform还能够在舞台上运行解释的AS3代码或更少的C++驱动元素。
总的来说,Stage3D将淡化Flash Player的3D访问。Scaleform主要用于开发丰富的UI体验,这些体验与玩家在网络上的体验不相上下。
在呈现UI元素时,通常不需要真正的3D
我们在赛车游戏中使用3d菜单(例如Dirt Showdown),因此如果可用,可以使用它来改进游戏。
我不知道这不是真的3d
缩放形式渲染到纹理。它内部使用2.5D,这意味着它可以在平面纹理上伪造视图方向。这个纹理在游戏的三维世界中使用,即使它在独立的相机中渲染,也会产生叠加的感觉。
此外,渲染本身是GPU加速的,你可以在youtube上找到示例,其中显示了渲染形状所需的网格。本机闪存在软件(CPU)上执行此操作。它有优点也有缺点,但我不想长篇大论,除非真的需要这些知识。