XNA是否存在相机库?

时间:2011-03-03 22:52:33

标签: xna xna-4.0

XNA是否存在不同摄像机的库?我已经四处搜索,发现了许多不同的摄像机类,它们具有不同的接口(或根本没有定义的接口),但没有标准摄像机定义的通用接口。

我觉得必须有一些我缺少的东西,似乎任何游戏都是如此重要的一个方面,必须有充分的理由缺乏相机库。

1 个答案:

答案 0 :(得分:4)

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

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

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

要为相机创建有用的矩阵,XNA Matrix类提供various methods。与投影矩阵的CreatePerspective相似,或视图矩阵的CreateLookAt

(因此,为了制作一个简单的相机类,让它拍摄你的相机设置信息 - 位置,视野等 - 并输出必要的矩阵。)

要在绘制时使用这些矩阵,您需要在效果上设置它们(它们将用于将顶点转换为顶点着色器中的屏幕位置)。 XNA 4.0 introduces effect interfaces,为此提供了一致的界面。