- 5
- 0
- 约6.7千字
- 约 53页
- 2019-01-27 发布于湖北
- 举报
图形学与游戏技术简介 注意: 不能为了优化而使用曼哈顿距离计算d,那样可能导致相邻块间的LOD等级1,无法使用三角形补缝。 voxel based terrain Crysis sandbox2 可以实现悬崖,洞穴等 高度图无法实现的地形效果 新的形生成技术(基于体素的地形) 场景管理 重点:八叉树(octree) 简述:bsp,portal,pvs 八叉树结构 何时分裂: (1)实心节点中面数(或物体数)不够少。 (2)实心节点体积不够小。 图取自:/wiki/Octree 0 3 2 1 5 4 7 6 编号顺序: 分裂4次达到的粒度 八叉树用于碰撞检测: 快速筛选出潜在碰撞三角面(或物体)集 八叉树用于视锥剔除: (其实,视锥剔除就是视锥与场景的碰撞检测) 八叉树用于加速光线追踪: 加快光线与几何体的求交运算 细菌与纽结的碰撞使用了八叉树, 红色部分为扭结与细菌的潜在碰撞三角面集。 bsp,portal,pvs: 八叉树视锥剔除的不足:无法处理遮挡 portal可处理遮挡。 通过bsp可以实现自动portal生成。 pvs是预计算版的portal。 处理遮挡的另外一个方法:硬件遮挡查询 八叉树视锥剔除 Portal技术 骨骼蒙皮动画 bone1 bone2 bone1’ bone2’ v6:w2=1 v5:w2=1 v4:w2=0.7,w1=0.3 v3:w2=0.5,w1=0.5 v2:w1=0.7,w2=0.3 v1:w1=1 v7:同v5 v8:同v4 v9:同v3 v10:同v 2 v11:同v1 以v4为例说明顶点混合过程: 图中bone2为bone1子骨骼,设bone1,bone2的局部矩阵分别为m_bone1,m_bone2。 v4在bone1坐标系内的坐标v4_bone1=inverse(m_bone1)*v4; v4在bone2坐标系内的坐标v4_bone2=inverse(m_bone1*m_bone2)*v4。 现假设bone1,bone2都进行了变换,各自的局部矩阵变为m_bone1’和m_bone2’, 则按bone1来算,v4的新坐标v4’应为v4’_1=m_bone1’*v4_bone1。 而按bone2来算,v4的新坐标v4’应为v4’_2=m_bone2’*v4_bone2。 于是真正v4’取v4’_1与v4’_2的混合,由于bone1和bone2对v4的影响权重分别为0.3和0.7, 所以v4’=0.3*v4’_1+0.7*v4’_2 顶点的骨骼权重: 粒子特效 一大类无定形事物可以用粒子系统进行模拟,如: 火,烟尘,爆炸,云,雨雪,瀑布,浪花,植被,魔法等。 2d 3d 使用点 使用透明公告牌: 体素(Voxel) 过程生成( Procedural generation ) 无限细节(Unlimited Detail )?????????? 新技术 看好 体素(Voxel) 比多边形更接近自然。 以前主要在医学成像中使用,近些年开始在游戏中流行。 体素光线投射(voxel ray casting ) /index.php/article/index/id/7616/page/1 Outcast (1999 ) Delta Force: Xtreme 2 (三角洲特种部队:极限版2)(2009) 体素八叉树: 1,加速求交。 2,减少存储空间(物体内部区域不分裂)。 两个游戏均为Novalogic公司制作, NovaLogic与战争游戏介绍 :/j/n/2008-11-15/1838280570.shtml 风格化体素游戏 /voxeliens/ highly dynamic game environments PolyVox /polyvox-about/ Voxeliens Masterspace [w]tech engine Forever War 使用PolyVox开发的游戏: Voxlap 体素库、引擎 /ken/voxlap.htm / Voxelstein 3d(体素版《德军总部》) 使用voxlap开发的游戏: / 可任意破坏的建筑 小车在路面上压出车轨印 Atomontage Engine 由多边形模型转化来的体素模型 (通过Mesh Voxelizer) * 2012-9-15 真实感图形学:侧重视觉效果 可视化:侧重信息传达 图形学 cn3d SAGA gis 可视化 ADINA 离线渲染(Offline Rendering) 实时渲染(Real-time Rendering ) 渲染类型: RayTracing(start, direction, weight, color){?? if ( weight MinW
原创力文档

文档评论(0)