【问题标题】:Drawing perspective buildings (GTA1/2 style) in Flash?在 Flash 中绘制透视建筑(GTA1/2 风格)?
【发布时间】:2010-11-06 17:15:15
【问题描述】:

任何人都知道我可以如何绘制具有 3d 透视高度的建筑物,例如在原始 GTA 中:http://www.gtanetwork.it/gtaold/pics/screen/gta1_01.jpg 在 Flash 中?

我尝试使用 beginBitmapFill() 并绘制多边形,但纹理看起来不正确,因为它缺少正确的深度。

有人有想法吗?不是在寻找完整的 3D 引擎,我只是希望建筑物有深度,其他一切都在同一平面上。

【问题讨论】:

    标签: flash actionscript-3 3d


    【解决方案1】:

    您知道,透视纹理映射是任何 3D 引擎的主要功能之一。这就是我们拥有它们的原因。很容易进行 3D 点透视分配,以及用颜色填充多边形,甚至 z 缓冲 - 所有这些仍然很容易。

    透视纹理映射更进一步......它涉及纹理提供程序和转换器,转换器必须拆分顶点(用于真实透视),然后在位图上应用仿射变换,绘制每个顶点......如果你想在自定义(或时间线甚至......这将非常烦人)代码中制作它,这一切都很难维护。 3D 引擎提供了更多功能(阴影也很好),并且非常易于维护。

    我会推荐 PaperVision 3D,尽管您必须自己拆分顶点(或者 AFAIK PV3D 不自动支持该功能)。

    在有人说这很容易通过 BitmapData 进行自定义循环,分配像素之前......它不是。透视不是线性的 - 那里的非线性循环会非常慢。

    【讨论】:

    • 我会说 away3d 对于 3d 引擎来说是一个更好的选择,而 papervision 已经快一年没有更新并且落后了。
    • 当然,我不太了解第三方引擎。
    猜你喜欢
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2013-05-11
    • 2013-07-06
    相关资源
    最近更新 更多