任何人都知道如何绘制具有3d透视高度的建筑物,就像在原始GTA中一样:Flash中的http://www.gtanetwork.it/gtaold/pics/screen/gta1_01.jpg?
我尝试过使用beginBitmapFill()并绘制多边形,但纹理看起来不正确,因为它缺少正确的深度。
有人有想法吗?不寻找完整的3D引擎,我只是希望建筑物有深度,其他一切都将在同一平面上。
答案 0 :(得分:1)
你看,透视纹理贴图是任何3D引擎的主要特征之一。那是为什么我们拥有它们。 3D点透视分配很简单,只需用颜色填充多边形,甚至是z缓冲 - 所有这些仍然非常简单。
透视纹理映射更进一步......它涉及到一个纹理提供者和变换器,变换器必须分割顶点(对于真实透视),然后在位图上应用仿射变换,绘制每个...如果你想在自定义(或时间线甚至......那将是非常恼人的)代码中使用它,这一切都很难维护。 3D引擎提供了更多功能(阴影效果也很好),并且非常易于维护。
我会推荐PaperVision 3D,虽然你必须自己拆分顶点(或者AFAIK PV3D不支持自动)。
之前任何人都说这只是在一个自定义循环中通过BitmapData很容易做到,分配像素......事实并非如此。透视不是线性的 - 非线性循环在那里会很慢。