XNA三维设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XNA三维设计

第11章 XNA三维设计 11.1 三维设计基本概念 11.2 简单3D图形的绘制 11.3 3D模型与3D特效 11.4 第一人称摄像机和第三人称摄像机 11.5 3D环境下的鼠标与键盘操作 11.6 3D图形的序列化与反序列化 11.1三维设计基本概念 11.1 三维基本概念 包括: 3D坐标系 世界矩阵(World Matrix) 视图矩阵(View Matrix) 投影矩阵(Projection Matrix) 前剪裁面与后剪裁面,或者叫近平面与远平面 可视区域(Viewing Frustum) 11.1 基本概念(续) 3D坐标系 DirectX用左手坐标系,XNA用右手坐标系。 11.1 基本概念(续) 世界矩阵(World Matrix) 可以把世界坐标设想为一个无限大的三维笛卡儿坐标。对象可以被放到这个“世界矩阵”的任意位置。 描述世界坐标的矩阵称为世界矩阵。 视图矩阵(View Matrix) 控制“摄像机”位置和方向等参数的矩阵称为视图矩阵。视图矩阵用于控制世界坐标如何转换为摄像机的坐标。例如,可以把摄像机悬置于某个对象的上面(摄像机位置),把镜头对准对象的中心(观察点)。也可以指定哪面是上面,例如指定y轴的正方向是上面。 投影矩阵(Projection Matrix) 投影矩阵可以被想象成摄像机的镜头,该矩阵指定了可视区域(近平面、远平面)。投影矩阵用于控制摄像机的坐标如何转换为屏幕坐标。 11.1 基本概念(续) 前剪裁面(近平面)与后剪裁面(远平面) 前剪裁面(front clipping plane): 指摄像机能拍摄到的最近距离。 后剪裁面(back clipping plane) : 指摄像机能拍摄到的最远距离。 可视区域 (Viewing Frustum): 位于前剪裁面与后 剪裁面之间的区域。 即摄像机能拍摄到 的区域。 11.1 基本概念(续) 背面剔除(Back Faces Culling) 所有的几何形状都可以由三角形顶点构成的面组成。背面剔除的实际含义就是如何渲染每一个由顶点按照顺时针或逆时针方向依次连线构成的三角形面。 程序中用CullMode属性设置剔除方式。剔除方式有三种: 一种是不剔除,即全部渲染; 第二种方式是剔除顺时针绘制的三角形面(默认); 第三种方式是剔除逆时针绘制的三角形面。 如果不设定剔除方式,XNA默认剔除顺时针方向构成的面,即只渲染按逆时针方向排列的顶点构成的三角形面。 11.2 向量与矩阵操作 11.2 向量与矩阵操作 11.2.1 向量操作 11.2.2 矩阵操作 11.2 向量与矩阵操作 向量操作 XNA Framework提供了Vector2、Vector3和Vector4类,利用这些类提供的属性和方法可以对向量进行各种操作。 Vector2:由x,y分量组成。 Vector3:由x,y,z分量组成。 Vector4:由x,y,z,w分量组成。 Vector4坐标的含义可以理解为:实际的3D点被认为是在w=1的平面上,表示形式为(x, y, z, w),将点投影到这个“平面”上得到相应的实际3D点(x/w, y/w, z/w)。w=0时表示“无限远点”,它描述了一个方向而不是一个位置。另外,利用w还可以进行各种变换。 11.2 向量与矩阵操作(续) 向量运算举例 ⑴ ⑵ = 11.2 向量与矩阵操作(续) 矩阵操作 XNA Framework 提供了Matrix类进行矩阵运算,该类包含了一系列属性以及对标准矩阵操作的方法,例如加、减、乘以及矩阵转置等,可以利用矩阵实现缩放、旋转等变换。 如何用矩阵变换一个点的坐标位置 Matrix rotationMatrix = Matrix.CreateRotationY(angle); //绕Y轴旋转 Vector3 rotatedPoint = Vector3.Transform(point, rotationMatrix);//变换 11.2 简单3D图形的绘制 11.6 简单3D图形的绘制 11.2.1 顶点缓冲与索引缓冲 11.2.2 Primitives 11.2 简单3D图形的绘制(续) 可以用以下结构来描述顶点信息: VertexPositionColor结构:包括顶点位置和颜色。 VertexPositionColorTexture结构:包括顶点位置、颜色以及纹理。 VertexPositionNormalTexture结构:包括顶点位置、法线以及纹理。 VertexPositionTexture结构:包括顶点位置和纹理。 顶点缓冲(Vertex Buffer) 保存一系列3D顶点信息的缓冲区。设计者必须先对顶点

文档评论(0)

woaitiantian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档