AppleSeeker's Tech Blog
Welcome to AppleSeeker's space
上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 为了生成曲线,函数需要通过4个在沿着重量值在0和1之间的路径上连贯的位置。由于重量在这些2个值之间增加,曲线返回在更远的路径上的坐标。当所提供的重量值为0,曲线将返回正确的坐标在第二个输入坐标。当所提供的重量值为1,曲线将返回一个准确的坐标在第三个输入位置。然而,所有4个值在这些计算中来使用, 来确保在第二个和第三个位置之间的平滑路径,并同样向前进到下一组运行点。这个可以使用图表来举例说明,在图所示。如果使用点0,1,2和3来计算曲线,重量在0.0,由此产生的位置会是1。如果重量增加到1.0,曲线坐标轨迹将沿着在点1和点2之间的线,当重量到达1.0,将到达点2。注意,从这个点的,曲线坐标没有返 阅读全文
posted @ 2012-05-24 11:37 AppleSeeker(冯峰) 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 创建一个追踪摄像机(1) 阅读全文
posted @ 2012-05-16 11:31 AppleSeeker(冯峰) 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 虽然我们有一个清晰地良好的控制相机,简单的通过设置它的位置和LookAtTarget,这里有另一个相机定位机制,我们可以利用它将在一些状况中提供一个更简单的方法来将相机放到我们想它放置的地点。这个机制就是使用我们已经为我们的游戏对象所使用的矩阵转换方法。如果我们使用矩阵转换,我们可以再一次提供一系列操作,相机将坚持决定它的最终位置。举例,我们可以在场景中决定去转换相机到一个不同的位置,围绕y轴预先的角度,旋转相机的矩阵,随着旋转角度的改变,相机将围绕着在首先转换的定义的坐标旋转。在相机的循环路径上,这是计算方法要比使用三角法去计算更简单, 如果我们简单的设置它坐标矢量。下面代码显示了一个使用技 阅读全文
posted @ 2012-05-08 10:52 AppleSeeker(冯峰) 阅读(1967) 评论(0) 推荐(0) 编辑
摘要: 在某些方面,它与一般的游戏对象相似,我们可以在我们的场景中使用:它是一个转换矩阵,有一个坐标,可以使用矩阵转换函数来转换。出于这个原因,我们将实现相机类,从MatrixObjectBase中派生,命名为MatrixCameraObject。这个类是具体的(非抽象类),并可以直接使用,不必继承更远的类。相机类的坐标在类继承关系上可以在图中看到。然而,在相机和标准游戏对象中有一些明显的不同:1)在任何时间,游戏中仅可以只有一个活动的相机。2)相机不会做任何绘制,虽然它们任然可以像其它任何普通游戏对象那样,更新它们的坐标。3)相机坐标更新和应用的顺序在3D场景中是有意义的:如果它的坐标通过一组对象改 阅读全文
posted @ 2012-04-30 10:45 AppleSeeker(冯峰) 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 如果你曾经用过一个摄像机,你所知道的最具动态的场景将在场景中有一个移动,不论是相机还是演员。在许多游戏中,操作相机的能力也同样重要。移动相机来改变玩家在3D世界中看到的位置。相机使用View效果属性来实现的,并且我们其实一直在使用它,尽管在所有我们的3D示例工程中没有移动它。在某些方面,有摄像头似乎不是很必要。毕竟,这似乎没有任何视觉上的不同在朝对象移动相机和朝相机移动对象。一旦我们开始构建复杂的有光照的多对象场景,然而,它变得非常方便来计算对象和光照坐标,而不必担心全部移动他们来模拟摄像头移动。摄像机位置和方向为了移动相机,我们必须去弄清楚如何设置视角矩阵所需要的摄像机坐标。幸运的是,XNA 阅读全文
posted @ 2012-04-21 10:41 AppleSeeker(冯峰) 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 正如我们所工作所使用的其它内容资源,通过允许它们加载到游戏框架中,我们将简化模型工作任务。这些模型会添加到GameHost类,作为一个模型对象字典。通过游戏的LoadContent方法,所有我们所需要的模型可以因此加载到字典中,当它们必须在屏幕上绘制时,就准备好进入字典了。就游戏框架而言,我们可以离开,但通过添加另一个抽象基类所构建的渲染模型的目的,我们可以让我们的生活容易点。这个类称为MatrixModelObject并且来自于MatrixObjectBase类,如图所示。从MatrixObjectBase类继承,意味着我们马上可以获得所有的矩阵-基础渲染属性,基于这些我们可以添加一些更多属 阅读全文
posted @ 2012-04-13 10:35 AppleSeeker(冯峰) 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 模型对象最终包含一系列VertexBuffer和IndexBuffer对象,这些我们将使用它们在屏幕上绘制对象。和从最后一章节的简单立方体示例不同,然而,它很可能该模型将包含多套三角形,所有这些三角形必须要在一起绘制来形成完整的对象。出于这个原因,模型对象包含一个集合的层次结构,正如图所示,必须为了获得绘制顶点数据。包含的模型对象由一个Meshes属性,它提供一个关于ModelMesh对象的集合。每一个ModelMesh代表一组呈现在一个在对象位置的三角形。有多个模型网格对象的原因是,模型对象能够存储包含部分复杂阶层的几何学。想象一下,例如,你想去渲染一个直升机模型。这里有直升机模型的3个主要 阅读全文
posted @ 2012-04-05 10:30 AppleSeeker(冯峰) 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 在游戏中添加已保存的对象到工程里来使用是非常容易的:简单的添加.x文件到你的工程中,就像你工程中的其它资源文件那样。仅添加.x文件,这不需要添加任何纹理来使用。提示:如果你想在工程中添加纹理,你可以在解决方案浏览器中看到它们,将它们添加进去然后在属性窗口中设置它们生成行为属性为None。.x模型的内容处理器属性包含一些有用的选项,在使用你对象前,你可能想去配置,如图所示。当工程编译时,Visual Studio将.x文件转换成在渲染时更简单使用的格式,在此阶段它能执行基础的对象几何体的转换。这些属性中第一个就是比例。对象中非常常用的,用来创建完全不同的几何体比例,它可以结束整个错误尺寸的对象。 阅读全文
posted @ 2012-03-28 10:12 AppleSeeker(冯峰) 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 当涉及到导出对象时,SketchUp免费版有很大的限制选项。支持2个原生格式是Collada (.dae)文件和Google地球(.kmz)文件。我们可以编写代码来导入这些格式到我们的XNA游戏中,但一个更好的解决方案是找到一个方法来创建.x几何体文件。.x几何体文件格式是多年前就作为微软的DirectX的一部分,持续在DirectX和XNA中支持到现在。XNA本身支持渲染.x文件,就像它支持图片和声音文件那样,实际上提供非常简单使用的编程接口,允许我们保存工作中所用到的大量的阅读和处理的几何体文件。不幸的是,无论是SketchUp免费版还是SketchUp加强版都不支持这个文件格式。在互联网 阅读全文
posted @ 2012-03-20 10:07 AppleSeeker(冯峰) 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 导入几何图形--SketchUp介绍 阅读全文
posted @ 2012-03-12 16:14 AppleSeeker(冯峰) 阅读(965) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页