作者AlvinX (好皮大太...)
看板GameDesign
标题Re: [问题]有关QUAKE 3地图档的问题
时间Sat Mar 29 19:49:46 2008
以下是我知道的部份
Brushes也是用来描述场景geometry资讯的,
不同於Mesh, Brushes是特别设计用来做Collision Detection(CD)用的。
一个Brush是一个凸多边体(Convex Volume),
用一组平面方程式来描述,
所以做ray testing的function, input是ray和一组平面方程式的list,
然後output是交点。
在BSP里, 每个Brush都存在BSP tree的leaf, 所以coliision detection的function,
必需要先traverse BSP tree, 到达leaf时,
再对那个leaf下的每个Brush做ray testing。
见
http://www.devmaster.net/articles/quake3collision/
然而进代游戏的作法, 比较少这样做了,
通常是直接把Mesh拿出来, 丢到PhysX这样的物体引擎去计算会比较有效率。
毕竟人家都Optimize到一次可以算几千个物体的collision了。
※ 引述《ceon (排球是我的好朋友)》之铭言:
: 小弟最近在写读取Quake 3地图档的一个小程式
: 有几个lump不知道要怎麽使用(下面用黄色标示的)
: Index Lump Name Description
: -----------------------------------------------------------------------
: 0 Entities Game-related object descriptions.
: 1 Textures Surface descriptions.
: 2 Planes Planes used by map geometry.
: 3 Nodes BSP tree nodes.
: 4 Leafs BSP tree leaves.
: 5 Leaffaces Lists of face indices, one list per leaf.
: 6 Leafbrushes Lists of brush indices, one list per leaf.
: 7 Models Descriptions of rigid world geometry in map.
: 8 Brushes Convex polyhedra used to describe solid space.
: 9 Brushsides Brush surfaces.
: 10 Vertexes Vertices used to describe faces.
: 11 Meshverts Lists of offsets, one list per mesh.
: 12 Effects List of special map effects.
: 13 Faces Surface geometry.
: 14 Lightmaps Packed lightmap data.
: 15 Lightvols Local illumination data.
: 16 Visdata Cluster-cluster visibility data.
: 有没有高手可以分享一下用法的?
: 感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.111.95
※ 编辑: AlvinX 来自: 203.73.111.95 (03/29 19:50)
※ 编辑: AlvinX 来自: 203.73.111.95 (03/29 19:50)
1F:推 Transformers:支持... 03/29 23:43
2F:推 ceon:感谢~ 来去研究文章~ 03/30 07:58