xna - XNA 是否存在相机库?

标签 xna xna-4.0

XNA 是否存在不同相机的库?我进行了搜索,发现许多不同的相机类具有不同的接口(interface)(或根本没有定义的接口(interface)),但没有具有标准相机定义的通用接口(interface)。

我觉得一定有一些东西是我遗漏的,这似乎是任何游戏的一个重要方面,缺少相机库一定有充分的理由。

最佳答案

你的问题有点含糊。所以我会尽力解释如何在 XNA 中制作相机。

基本上,相机只是一个矩阵(正如您似乎已经知道的那样)或矩阵的集合。通常,您有一个 View 矩阵(将相机放置在世界中)和一个项目矩阵(将世界的 3D 点投影到 2D 视口(viewport)上)。

因为相机就这么简单 - 确实不需要某种全面的相机库。对于游戏来说,“硬编码”一个简单的相机类来满足该游戏所需的功能通常比尝试解决制作某种适用于所有游戏的通用相机类的指数级复杂问题更容易。/p>

为了为相机创建有用的矩阵,XNA Matrix 类提供 various methods 。就像投影矩阵的 CreatePerspective 或 View 矩阵的 CreateLookAt 一样。

(因此,要制作一个简单的相机类,请让它获取相机设置信息 - 位置、视野等 - 并输出必要的矩阵。)

要在绘图时使用这些矩阵,您需要在效果中设置它们(它们将用于将顶点变换到顶点着色器中的屏幕位置)。 XNA 4.0 introduces effect interfaces ,它提供了一个一致的接口(interface)来执行此操作。

关于xna - XNA 是否存在相机库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187624/

相关文章:

c# - xna 4.0 加载texture2d时出错

c# - XNA 属性 Game.IsActive 不工作

c# - 这款游戏的理想选择,XNA 还是 SlimDX (DirectX 10)?

c# - 来自 DLL 的 Microsoft Visual Studio 2013 摘要

xna - 我应该将自定义关卡文件夹放在 XNA 游戏中的哪里?

xna - XNA 中的 ToggleFullScreen 会导致设备丢失等错误

visual-studio-2010 - XNA Mono 触摸游戏 - 触摸不起作用

xna - 突破桨碰撞角度

c# - C++ 中的 Vector2 等效吗?

c++ - 无需运行必备软件的 DirectX 游戏