摘要:
问题 通过绘制模型前设置世界矩阵(见前一个教程)时,你可以在场景的任意位置放置模型。当你将模型从A点移至B点,你需要确保它转向正确的方向。 这个旋转角通常通过一个自然的方式获取,例如,当处理一个包含旋转的世界矩阵。但是,如果你只是存储模型的前一个位置和当前位置的方法移动模型的话,那么必须手动旋转这个模型。 解决方案 你需要首先计算模型运动的方向。从这个方向的X轴和Z轴开始,很容易找到这个角度。 工... 阅读全文
posted @ 2010-12-08 14:06
AlexCheng
阅读(591)
评论(0)
推荐(0)
摘要:
问题 你想在绘制模型之前独立地移动、旋转并/或缩放它们。 解决方案 你可以设置对象的世界矩阵实现这个功能,而矩阵是可以存储任何变换(平移、旋转或缩放等操作)的对象。你可以简单地使用XNA框架提供的基本方法创建一个变换矩阵: Matrix.CreateTranslation Matrix.CreateScale Matrix.CreateRotationX-Y-Z 第一个... 阅读全文
posted @ 2010-12-08 14:04
AlexCheng
阅读(487)
评论(0)
推荐(0)
摘要:
问题 因为手动定义一个复杂3D对象的所有点几乎是不可能的,所以这些3D对象应该是由艺术家在3D建模程序中制作,模型可以保存为一个文件。你想从文件加载模型并在场景中绘制这个模型。 解决方案 XNA Framework已经包含了所需方法。XNA提供了一个默认的Model素材管道可以从.x和.fbx文件加载模型。如教程3-1的图片所示,你只需将模型拖动到Solution Explorer的Content... 阅读全文
posted @ 2010-12-08 14:00
AlexCheng
阅读(311)
评论(0)
推荐(0)
摘要:
创建一面镜子:投影纹理 问题 你想在场景中创建一面镜子。例如,在一个赛车游戏中创建一面后视镜。你也可以使用这个技术创建一个反射贴图。 解决方案 首先需要将镜子中看到的场景绘制到一张纹理中。然后,绘制相机中见到的场景(包括空镜子),最后将这张纹理贴在镜子上。 要绘制从镜中看起来的场景,你需要定义第二个相机,叫做镜像相机(mirror camera)。你可以通过镜像第一个普通相机的Position,T... 阅读全文
posted @ 2010-12-08 13:57
AlexCheng
阅读(522)
评论(0)
推荐(0)
浙公网安备 33010602011771号