我正在尝试使用 XNA 4.0 编写具有动态生成地图的策略游戏,并且创建所有地面纹理真的很困难,不得不在 Photoshop 中单独扭曲它们。
所以我想做的是创建一个平面图像,然后通过移动图像的角落以编程方式应用失真来模拟透视。
这是在 Photoshop 中完成的示例:
我如何在 XNA 中做到这一点?
我正在尝试使用 XNA 4.0 编写具有动态生成地图的策略游戏,并且创建所有地面纹理真的很困难,不得不在 Photoshop 中单独扭曲它们。
所以我想做的是创建一个平面图像,然后通过移动图像的角落以编程方式应用失真来模拟透视。
这是在 Photoshop 中完成的示例:
我如何在 XNA 中做到这一点?
我的答案不是特定于 XNA 的,因为我从未真正使用过该库;但是这个概念应该仍然适用。
一般来说,获得良好透视效果的最佳方法是实际给出 3d 坐标和变换,让 DirectX/OpenGL 处理其余部分。与尝试自己做相比,这有很大的好处——特别是易用性、性能(大部分工作都传递到您的显卡上)和透视正确的纹理。如果你担心的话,没有什么能阻止你在同一个场景中做 3d 和 2d。有许多在线教程可以帮助您使用 XNA 在三维空间中进行设置。我建议前往 MSDN。