电子游戏设计与制作(三维游戏中的场景管理技术)

1 三维场景的组织和管理

  • 在实时绘制的前提下,控制每帧画面绘制的多边形数目、检查游戏中的物理特性及管理网络吞吐量等
  • 利用遮挡剔除技术减少场景复杂度(例如背面剔除算法,法线向量与视线向量的数量积正负判断正反面)

场景图的表达和管理

电子游戏设计与制作(三维游戏中的场景管理技术)_第1张图片
第一步:
根据游戏的需要更新场景图必要的部分
这种更新是部分的,不需要从根节点遍历

第二步:
场景图的剔除和绘制

矩阵堆栈
矩阵堆栈的顶部矩阵就是当前的ModelView 矩阵 ©.
矩阵堆栈的好处:允许一系列位置(代表了坐标系统)保留下来,并在需要的时候使用它们。

绘制状态的场景管理

状态切换是指任意影响画面生成的函数调用,包括纹理、材质、光照、融合等。
切换状态很耗时。
思路:将场景按绘制状态分类相同状态的物体只设置一次状态,并始终保存当前状态列表
电子游戏设计与制作(三维游戏中的场景管理技术)_第2张图片
按各种状态的耗时进行排序

  • 树的顶层表示最耗时的状态改变
  • 叶节点表示代价最小的状态改变

景物包围体的场景组织

加速判断场景物体之间的空间关系,主要有两种方法

  • 对单个物体建立包围体,在包围体的基础上建立包围盒层次树
  • 场景剖分
  • 电子游戏设计与制作(三维游戏中的场景管理技术)_第3张图片

电子游戏设计与制作(三维游戏中的场景管理技术)_第4张图片

优化场景绘制的几何剖分

将场景中的几何物体通过层次性机制组织起来
优点使用灵活,能快速剔除层次树的整个分枝
注意:注意保持树的平衡

BSP树

电子游戏设计与制作(三维游戏中的场景管理技术)_第5张图片
类型:
均匀剖分
平行坐标轴剖分
任意平面剖分
电子游戏设计与制作(三维游戏中的场景管理技术)_第6张图片
构建:
基于场景几何
基于分割平面
电子游戏设计与制作(三维游戏中的场景管理技术)_第7张图片
BSP算法:
遍历树,判断视点位于分割面的哪一侧。
BSP为预处理的排序算法,本质上可看成画家算法的扩展。

BSP树的缺点:

  • 当多边形与分割面相交时,必须将多边形沿分割面分隔,产生过多的多边形。
  • 较难根据场景几何自动选取分割面。

四叉树

电子游戏设计与制作(三维游戏中的场景管理技术)_第8张图片

八叉树

电子游戏设计与制作(三维游戏中的场景管理技术)_第9张图片
电子游戏设计与制作(三维游戏中的场景管理技术)_第10张图片

几种技术比较

八叉树与BSP的比较

电子游戏设计与制作(三维游戏中的场景管理技术)_第11张图片

景物包围体和场景剖分技术比较

电子游戏设计与制作(三维游戏中的场景管理技术)_第12张图片
电子游戏设计与制作(三维游戏中的场景管理技术)_第13张图片
该图片来源:页游www.hp91.cn/页游

2 游戏场景的几何优化

本质:在不影响画面视觉效果的条件下,逐次简化景物的表面细节来减少场景的几何复杂度,从而提高绘制效率

简单取舍型LOD

计算每个物体(一般采用物体包围盒)投影在屏幕的像素数,如果小于给定阈值,不绘制物体。

缺点:

  • 没有减少模型细节
  • 当相机运动时,造成跳跃,从而产生视觉失真。

平滑过渡型LOD

与简单取舍型LOD相比,对于不应绘制的物体,将物体淡出视野
适用于模拟小的植被,装饰物等。

静态LOD

减少物体多边形数目

核心思想:预计算同一物体的多个不同精度的版本,精度情况参考屏幕投影尺寸
电子游戏设计与制作(三维游戏中的场景管理技术)_第14张图片
动态LOD

根据相机位置和物体的重要性动态简化网格

经典的简化算法:

  • 顶点删除
  • 边删除
  • 面删除

3 三维场景的快速可见性判断与消隐

3.1 可见性判断算法分类

电子游戏设计与制作(三维游戏中的场景管理技术)_第15张图片
该图片来源:页游www.hp91.cn/页游

3.2 遮挡面剔除技术

适用于人造建筑物少的室外场景
代表性算法:基于阴影体技术

包围球加速

遮挡体设置的两种途径:

  • 利用建模软件包编辑遮挡体
  • 集成遮挡体功能到游戏编辑器(如Unity里的Occlusion Culling)

3.3 可见性计算

作用:用于决定场景中可能可见的物体

  • 视域裁剪算法(绘制引擎本身自带的)
  • Z-buffer算法(帧缓存+深度缓存 易于在图形硬件上实现,并演化成标准的硬件消隐技术。缺点:需要将齐次坐标转换为三维坐标)
  • 基于入口技术的可见性判断(适于室内游戏的场景管理,根据单元与单元之间的邻接图,通过深度遍历建立起单元与单元的入口序列)
  • 基于入口结构的绘制技术(精细型、粗略型 优点:方便定义场景、快速绘制 缺点:消耗大量的内存、不适合室外渲染)

3.4 PVS:潜在可见集

在入口技术中,有n个单元,每个单元设置一个n位组成的标志位。第i个单元相对于当前单元如可见,那么设置第i位为1。

某个单元可见的单元数目>特定视点的可见单元数。

PVS是一种预处理技术。

PSV与遮挡面剔除技术

  • 遮挡面剔除技术预先剔除肯定不可见的面
  • PVS提取那些潜在可见面

你可能感兴趣的:(游戏开发游戏)