【发布时间】:2013-07-15 17:29:33
【问题描述】:
我正在实现一个带有摄像机视图的游戏,如暗黑破坏神 3(3d 表面上的 3d 对象,自上而下视图),但我有一个限制:
我需要我的游戏在任何方面都无视距离。
这包括让所有 3d 模型在屏幕上的任何位置以相同的角度面对相机,在屏幕上的任何位置具有相同的大小并以相同的速度移动(屏幕空间方面)。
我需要这个,因为我想到了特定的机制,并且我需要它在 3d 世界中,因为我需要在游戏中拥有准确的阴影。
我知道如何实现每个功能(主要是通过使用正交投影和一些着色器魔法),但最后一个,即我无法理解如何以相同的速度移动 3d 平面上的 3d 对象屏幕空间方面。
如果对象在屏幕的上部,它会移动得更慢,反之亦然,所以我确实需要一些代码来弥补这一点。
你们知道如何做到这一点吗?
附:顺便说一句,感谢您的编辑,它看起来确实更好。
编辑:我在 c#/XNA 中编码
【问题讨论】:
标签: 3d orthogonal