Direct3D 开发之旅 3D 游戏基本概念的介绍2

   文接上篇,上节说到了3D的重要的几何知识。  

      这节首先我们补充一些其他重要的3D的几何知识。

      通过所有的变换,将顶点从物体局部坐标系变换到视口坐标系系统。变换方法以下几种

      1. 平移,旋转和缩放等变换操作通常使用矩阵来执行

       2. 在投影之后,每个顶点都在投影平面上有一个新的x和y值用于描述它的位置,同时还有一个述深度的z值。

       3.在管线处理的最后阶段,将纹理填入到各个三角形或者表面当中.纹理就是游戏背景出现的一些头案。

       在这,我们介绍一个主要空间系统,如图所示

       

        我们再介绍一下物理坐标系统。

        所谓的物理坐标系统, 是使用层次模型来表示由各个部分“装配”起来的物体,并且 每个物体都有自己的坐标系。 下面图像显示就是两个物体不同的物理坐标系统显示。

       那么什么是世界坐标系系统 

       世界坐标系系统也被称为“全局坐标系系统”,所有的物体做这同一系统中。所有对象实例都能够在这系统缩放,平移和旋转的。所有的几何体都在同一坐标系中,使用同一坐标

 系原点。下面的图像在世界坐标系系统中显示了两个绿色的立方体和一个红色的立方体的实例。

       摄像机系统,也被称为“参考坐标系统”, 是指明在世界空间中的某一角度中任意放置,方向和方位的空间。 所有物体的位置都根据摄像机的中心和方向重新变换。

  下图显示了摄像机在世界坐标系系统中从左侧观察物体。

 

 

   也能从下图显示了从左侧摄像机坐标系系统,或者摄像机点中所看到的相同的场景。

     而下面的图像则显示了在世界坐标系系统内摄像机,从系统右面观看世界场景。

        投影坐标系系统又是什么了? 投影坐标系系统也被称为“裁剪坐标系系统”, 他由视图截锥和投影方法定义的空间,

   并裁剪并且投影3D物体到2D视图平面。解释投影坐标系统,如图所示。

         最后,介绍视口系统。视口系统是在显示窗口中图像被实际绘制的矩形区域, 是由原点和窗口的延伸方向定义, 因此Z值通常被保留,我们有时候也称“2.5D”;

         介绍完了坐标系系统,我们介绍了3D处理管理系统。

         3D处理管理系统为了实现时间平行性的作用,它类似于装配线,通过将任务分割为一系列子任务来完成, 子任务由特定的硬件来执行, 各个处理阶段并发操作, 连续的任

    务在子任务层面上重叠执行。3D处理管理系统介绍完了。

         我们看看,这些程序部分是由几 个硬件执行。应用程序处理阶段通过软件在CPU中实现,几何变换和光栅化在GPU(图像处理单元)中实现,具体的执行过程如图所示。

    

          我们再看应用程序处理的是个啥样子。是用于软件实现,他需要一个游戏引擎:这里的游戏引擎是指碰撞检测和响应,动画,AI,来对用户

    输入的读取和解析。他的作用是 准备GP所使用的图元,所包含属性和相关函数。 对加速和优化非常重要。

          应用程序处理由以下组件组成。

         1.游戏逻辑 2.人工智能 3.动画物体 4.摄像机控制 5.剔除算法  6.碰撞检测和响应 7.游戏物理和动力学特性 8.几何运算库。

         游戏逻辑是指控制游戏流和层级流、用于用户界面控制、对输入/输出(I/O)处理、物体导入和加载。

          人工智能是指 对不可玩角色反应、 对不可玩角色行为、对不可玩角色路径查找程序设计。并且对脚本事件控制。

          动画物体包括刚性物体、 可变形物体、 关节物体

          刚性物体是指不可变的物体,与此相对的是柔性物体,包括可变物体和关节物体。 可变形物体是指 可以变形的物体,如 变形金刚,关节物体,有关节质地物体,如魔兽世界的英雄。

          介绍完这个物体以后   我们再介绍另外游戏重要的元素——摄像头。

          摄像头包括以下几个方面。

          1.第一人称视角. 2.第三人称视角.  3.跟踪正在移动物体的路径 4.在不同的摄像机角度和方向之间内插数值(Quaternions)以提供最短的距离。5.在体育竞技游戏

经常使用的重播的方法。

         对于几何运算库,我的解释是指 1.向量和矩阵操作   2.距离和角度测量   3.交集和包含运算 4.搜索和排序算法

          说说剔除算法,1.背面剔除– 如果一个绘制元素的法线方向背离视点观察方向,则该绘制元素必不可见

        2.摄像机平截体内部的对象之间的遮挡测试– 遮挡剔除:如果一个绘制元素被其他不透明绘制元素(组)所遮挡,则该绘制元素必不可见
       

        3. 空间分割– 八叉树(Octree)

           

          最后我们说说 游戏的物理和力学特性

           物理特性包括正向和反向运动, 力学逆过程(已知力求运动, 刚体和柔体物体对象以及碰撞检测和响应等方面的概念。

           这节,我们从坐标系统说起,并且介绍了应用程序的逻辑,相信对大家了解3d游戏开发的基本概念有所帮助把。

           接下来,所说的就来到了几何处理的阶段。    几何处理大概流程如图所示:

 

 

时间: 2024-09-12 09:56:15

Direct3D 开发之旅 3D 游戏基本概念的介绍2的相关文章

Direct3D 开发之旅 3D 游戏基本概念的介绍1

   3d游戏是相对于2d游戏而言,就是是游戏角色具有立体感.                3D游戏的官方解释为               3D游戏是使用空间立体计算技术实现操作的游戏.从编程实现角度来说游戏基础模型(游戏的人物,场景,基础地形)是使用三维立体模型实现的,游戏的人物角色控制是          使用空间立体编程算法实现的,那么就把这种游戏称作3D游戏.                要实现一个3D游戏并非什么易事.                  首先,我们在这里要明确3d

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.3节如何搭建Android开发环境

1.3 如何搭建Android开发环境Android 3D游戏开发技术宝典--OpenGL ES 2.0Eclipse是一款开放源代码.基于Java的可扩展开发平台.其包括一个框架和一组服务,主要通过插件来构建开发环境.而Android的开发工具即为Eclipse的插件,这也减少了开发人员的开发成本.本节主要讲解基于Eclipse的Android开发环境的搭建.模拟器的创建和运行等相关知识. 1.3.1 SDK的安装及环境配置本小节主要介绍Android开发中相关SDK的安装及环境配置,主要包括

索尼公布PS3平台3D游戏完整阵容已确定27款

据海外媒体报道,索尼官方日前公布了PS3平台所有对应3D效果的完全游戏名单. 截止今年底,已有18款游戏能提供3D效果体验,另外还有9款将会对应3D效果的游戏正在紧张开发中.索尼发言人Sid Shuman表示目前公布的这些游戏只是索尼庞大3D游戏阵营中的冰山一角,更多的3D游戏将在明年得以公布. 已经上市的3D游戏有:<使命召唤 黑色行动>.<奴役 西游记>(PSN软件升级).<爱宝贝>.<GT赛车5>.<动感格斗>.<高速保龄球>.

《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览

1.1 Unity 3D基础知识概览 Unity 3D 游戏开发技术详解与典型案例 本节主要向读者介绍Unity 3D的相关知识,主要内容包括Unity 3D的简介.Unity 3D的发展和Unity 3D的特点等.通过本节的学习,读者将对Unity 3D有一个基本的认识. 1.1.1 初识Unity 3D Unity 3D是由Unity Technologies开发的一个轻松创建三维视频游戏.建筑可视化.实时三维动画等互动内容的.多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎. Un

《DirectX 9.0 3D游戏开发编程基础》必备的数学知识 读书笔记

最近在看游戏导航源码,但是看了几天感觉看不懂.里面全是一些几何运算,以及一些关于3d方面的知识.发现自己缺少3d这方面的知识,正好也想研究一下3d游戏开发的基本原理,于是决定买本书看看了,后来在opengl和directx要选择一个,感觉directX是微软的,就选了directx. 必备的数学知识 3D空间中的向量 几何学中一个有向线段表示,向量两个重要属性:长度.方向 向量不含有位置信息,如果向量的长度和方向相等即相等  . 左手直角坐标系和右手直角坐标系:左手直角坐标系z轴正方向穿进纸面,

Windows Phone 7开发教程(2)——Windows Phone XNA 4.0 3D游戏开发

程序代码编译环境Visual Stuido 2010, Windows Phone 7 SDK, XNA 4.0 Game Studio, 下载链接: http://files.cnblogs.com/aawolf/XNA_aawolf_3D.rar 今天有点空余时间,在看Windows Phone 7的开发.看到Silverlight for phone和XNA 4.0的开发文章已经有了不少,而且质量很高.我就来说说XNA 4.0 的3D开发这个领域吧,正好跟目前的工作有些关系,而且XNA 4

为J2ME开发移动3D游戏之立即模式

一.简述 现在,移动游戏和移动应用开发极为热门!游戏中需要有时髦漂亮的图形,其设计标准比以前任何时候都要高.本文将告诉你怎样用酷毙的移动3D图形API为J2ME设备开发3D图形游戏. 如果你在用MIDP1.0进行用户接口编程,那么有两条路你可以选择:使用高级的UI类或者一切由你自己从头开始.作为游戏开发者,第一种选择往往是不可能的:这是为什么游戏开发者不得不为他们的高级游戏开发自己的3D引擎的原因.无疑,这需要付出大量的时间和努力,而缺乏浮点数支持的CLDC 1.0(MIDP 1.0正是建于其上

3d-求解Android开发3D游戏的虚拟摇杆怎么做?

问题描述 求解Android开发3D游戏的虚拟摇杆怎么做? RT,如何实现3D手机游戏的虚拟摇杆功能,谁能给讲解一下,或分享个样例供大家学习学习? 解决方案 参考:http://imgtec.eetrend.com/blog/4326

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.5节Android应用程序运行的机制

1.5 Android应用程序运行的机制 Android 3D游戏开发技术宝典--OpenGL ES 2.0 上一节介绍了如何搭建Android开发环境.如何开发Hello Android应用程序以及Android应用程序的调试,接下来在本节中将简要地介绍Android应用程序的运行机制. 1.5.1 应用程序的系统架构 Android平台由应用程序.应用程序框架.Android运行时.系统库以及底层Linux内核构成,详细结构如图1-54所示. 说明 应用程序层里面包含的就是需要读者去发挥创意