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游戏开发的基本概念有所帮助把。

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

 

 

目录
相关文章
|
10天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1210 5
|
9天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1171 87
|
9天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1764 12
|
19天前
|
人工智能 运维 安全
|
2天前
|
资源调度
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
229 127
|
10天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
362 0

热门文章

最新文章