[转]虚幻引擎术语表
Actor-一个可以放置在世界中或者在世界中产生的对象。这包括类似于Players(玩家)、
Weapons(武器)、StaticMeshes(静态网格物体)、Emitters(发射器)、Infos以及Sounds(声效)
等。
ActorX-是一个导出插件,它可以把骨架网格物体和动画导入到一个可以导入到虚幻引擎中的
文件内。
AdditiveBSP(添加型BSP)-添加到挖空型BSP空间中的BSP空间。AdditiveBSP(添加
型BSP)是固体,是游戏环境中不可穿透的空间。
AI-(人工智能)这个术语用于描述通过计算机控制的人物的行为和外观。这可以包括简单的不具
有交互的脚本序列到复杂的学习玩家动作并进行调整的计算机人物。
AIController(AI控制器)-一个类,定义了一个计算机控制的人物或者一组计算机控制的人
物的行为。
AlphaChannel(Alpha通道)-这是贴图的一个额外通道,它不仅可以使贴图处于透明状态
而且也可以使它处于半透明状态。要想使用AlphaChannel(Alpha通道),则必须设置贴图的
bAlphaTexture属性为真。
AmbientSound(环境声效)-它是一个Actors,当把它放置在关卡中时,它可以循环地从声
效浏览器中选择声效文件进行播放。
Anim/Animation(动画)-这是为您具有骨骼的3D模型创建的动作,它可以使3D模型在游戏
中移动。Animations(动画)存储在.PSA文件中并且可以为一个单独的骨架网格物体导入多个动
画。
AnimNode(动画节点)-是动画树中的一个单独组件。许多不同类型的AnimNode(动画节点)
连接到一起来组成复杂的程序化的动画混合。
AnimTree(动画树)-是应用到骨架网格物体上的动画设置,包括多个动画、混合以及骨架骨
骼控制器。
AnimTreeEditor(动画树编辑器)-虚幻编辑器中的这个工具用于创建并预览动画树。
BeamEmitter(光束发射器)-是一个独立的发射器,它可以把贴图拉伸为长的条带,并且可
以按照在虚幻编辑器中设计的方式来发射这些条带。要获得关于BeamEmitters(光束发射器)的
更多信息,请参照光束发射器参考页面。
BlockingVolume(阻挡体积)-它是一个可以在编辑器中创建的体积,它可以阻挡玩家和其它
actors但是它不阻挡零粗细跟踪。要想获得关于BlockingVolumes(阻挡体积)的更多信息,请参
照碰撞参考文档。
Bot-一个计算机控制的玩家,它具有它自己的AI。
Browr(浏览器)-是一个标签菜单,您可以使用它来查看编辑器的各个方面。要想获得关于
Browrs(浏览器)的更多信息,请参照Trash.虚幻编辑器用户指南页面。
Brush(画刷)-它是使用在编辑器左侧的Brush(画刷)图元工具创建的任何几何体,包括那个
红色的构建画刷。要想获得关于Brushes(画刷)的更多信息,请参照BSP画刷指南?文档。
Build(构建)-它是指编译关卡,以便它可以执行所有必须要的预计算处理比如光照、路径生成
以及分解几何体。也被称为Rebuilding(重新构建)。
-虚幻编辑器的版本。比如:UT2003使用引擎的2136Build(版本),UT2004使用
引擎的3186Build(版本)。虚幻引擎3是以经过QA验证的版本进行发布的(发布信息)。要想获得
关于各种版本的虚幻引擎的信息,请参照虚幻技术开发路线图文档。
BuilderBrush(画刷构建器)-您可以使用红色的画刷来在关卡中挖空或者添加BSP体积。要
想获得关于BuilderBrush(画刷构建器)的更多信息,请参照使用BSP画刷?页面。
BSP-二叉空间分割树(有时候指CSG)是一个数据结构,用于组织关卡空间中的物体。虽然
使用这个术语来指代几何体从语义上讲并不正确,但是因为它指向由画刷构建器创建的几何体,这样
便可以轻松地接受。要想获得关于BSP的更多信息,请参照使用BSP画刷?。
用更简单的话说,BSP是一种几何体类型,您可以在关卡中添加或挖空几何体来雕刻出
环境空间。
BSPHoles(BSP洞)-BSP几何体中无法解释的打断,在那里挖空型BSP空间和添加型BSP空
间彼此相交。它们发生在非常复杂的BSP添加/挖空中。它除了减慢场景的帧频率外,我们已经发现
它们会导致其它的一些奇怪的问题包括但不限于使静态网格物体消失和不可间的阻挡玩家的墙壁。
Camera(相机)-玩家在游戏中和虚幻编辑器中所看到的视图。在正交视口中,您可以把正交视
图的相机看成眼睛。
CollisionCylinder(碰撞圆柱体)-每个actor周围的圆柱空间,用于决定碰撞。对于大多数
actors来说,这项设置默认情况下是关闭状态,但是对于类似于player(玩家)和triggers(触发器)
这样的actors,CollisionCylinder(碰撞圆柱体)默认情况下处于打开状态,它能检测其它actor和
它的碰撞。CollisionCylinder(碰撞圆柱体)的高度和半径可以通过在了碰撞属性标签底下的属性进
行改变。
CollisionModel(碰撞模型)-它们不是非常复杂的几何体积,随着静态网格物体进行创建并
保存在静态网格物体中。CollisionModel(碰撞模型)用于加速碰撞计算,而不是仅使用复杂的静
态网格物体进行计算。关于CollisionModles(碰撞模型)的更多信息,请参照碰撞参考文档。
Commandlet(命令开关)-Commandlet(命令开关)是一个您添加到您游戏的可执行文件上
的可选参数用于执行各种动作或者输出信息。请参照命令开关列表和制作命令开关页面。
Combiner(组合器)-一种材质类型,它把两个贴图或材质组合并混合它们成为一种新的材质。
Console(控制台)-(也成为命令提示符、命令行)它是虚幻编辑器底部的一个文本域,允许您
在编辑器中输入控制台命令。关于Console(控制台)的更多信息,请参照控制台命令文档。
CSG-构造实体几何体(也称为CSG)这是BSP从语义上来说更加精确的属于表示。术语CSG
指使用构建画刷创建的几何体。关于CSG的更多信息,请参照使用BSP画刷?文档。
Cubemap(立体贴图)-Cubemap(立方体贴图)是创建具有反光性的材质的外观所使用的环
境贴图所需要的。关于Cubemaps(立方体贴图)的更多信息,请参照材质概要文档。
Cull(剔除)-使某物体从渲染的物体中隐藏,或者换句话说,使渲染的物体不描画某个东西。
Decolayer(装饰层)-地形中的一个层,用于生成一组静态网格物体的随机样式,这些样式仍
然附加到地形上并且它们的缩放值和方向可以基于每个静态网格物体实例随机地偏离。关于
Decolayers(装饰层)的更多信息,请参照地形编辑器用户指南文档。
Deinterct(反交集)-这个动作将会保留在负/挖空空间中的画刷构建器选项的剩余部分。
关于使用Deinterct(反交集)按钮的更多信息,请参照Trash.虚幻编辑器用户指南文档。
Demiurge-它是一个理想的工具,它可以从混沌中定制并制作材质。请参照Demiurge
Studios页面。
DragGrid(拖拽表格)-(也称为表格)它是个切换开关,允许您把某些特定actors(比如静态
网格物体、Mover(移动者)以及画刷)对齐到编辑器的网格上。DragGrid(拖拽网格)的大小可以
根据2的幂数进行调整,范围从最低的1到最高的4096。关于DragGrid(拖拽网格)的更多信息,
请参照Trash.虚幻编辑器用户指南文档。
DXTC-(也称为X贴图压缩)这是一种贴图压缩方法,它是虚幻编辑器中进行贴
图压缩的主要算法。
Emitter(发射器)-(也称为粒子系统)它是一个Actor,可以产生一系列的actors比如静态网
格物体和平面粒子来获得各种各样的特效。发射器可以相互结合使用来创建"粒子系统"。关于
Emitters(发射器)的更多信息,请参照粒子系统参考文档文档。
EnvMap(环境贴图)-(也称为环境贴图)它是一种材质类型,可以用于创建具有反射光材质的
外观。关于EnvMaps(环境贴图)的更多信息,请参照材质概要文档。
Event(事件)-一个调用函数,某些actors监听它们,从而引起actors进行相应的动作。
_Events(事件)_可以从触发器、移动者、发射器以及代码中进行调用。
Face(面)-BSP物体的一侧。一个Face(面)由两个三角形组成。
FaceFX-它是一个集成到虚幻编辑器中的工具,允许您使得人物嘴唇的动画和人物模型同步。
关于这个插件的更多信息,请参照FaceFX简介文档。
FPS-(每秒中播放的帧数)动画视频显示图片的速率的测量。电视运行大致在30FPS,电影
通常运行在24FPS,然而游戏的FPS.通常是变化的。
-(FirstPersonShooter(第一人称射击))一种游戏类型,它从第一人称的视角来描
写场景,并且和世界的主要交互是某种枪。
Garbagecollection(垃圾回收)-自动销毁未被引用的对象(正如在Java、C#或者
Script中所存在的)。
G16-灰度图16位图片。地形的高度图和alpha层使用G16位图。
Geometry(几何体)-它是指关卡中的由三角形构成的任何东西,比如Trash.静态网格物体、
BSP、地形等。
Grid(网格)-SeeDragGrid.请参照拖拽网格。
Group(组)-(组浏览器)通过使用组浏览器可以把Actors分配给一个Group(组)。这
些Group(组)可以用于更好地可视化地管理这些使场景变的凌乱的各种不同actors。关于使用这
些组的更多信息,请参照组浏览器参考文档。
-(包组)组是对包中资源(比如贴图、静态网格物体、以及声效包)的细分,允许
您在浏览器中更加容易地管理资源。
HOM(充满镜子的厅)-(HallofMirrors[充满镜子的厅]),它是一种效果。当渲染不能正确地
重新描画场景时便会创建一种混乱的视觉效果,其外观和一个充满镜子的大厅类似。通过向关卡中
的一个antiportal(阻挡体)或者穿过BSP洞看便会获得这种效果。
Impersonator-它是集成到虚幻引擎3中的一个工具,允许您使嘴唇的动画同步到人物模型上。
请参照FaceFX。
Instance(实例)-a)任何类的对象;b)基于一个模板创建的子对象,包含在一个对象实例内。
Interct(交集)-这个动作将仅留下构建画刷和添加型BSP几何体相叠加的部分。关于使用
Interct(交集)按钮的更多信息,请参照编辑器按钮文档。
Invisible(不可见)-BSP几何体的表面属性,它将导致不渲染标志为不可见的表面。然而,
如果不可见的表面处于可见状态,那么它们仍然可以发生碰撞。
KActor-一个可以移动的静态网格物体,它使用物理引擎和其它具有真实物理的世界几何体发
生碰撞。KActors是单独的刚体。
KAst-关卡中的一个物理资源实例。KAst使用物理来驱动骨架网格物体,这对于放置的
布娃娃或者其它有很多刚体躯干和关节组成的带皮肤的物体是有效的。
Karma-集成到虚幻引擎2的组成物理引擎的MathEngine(数学引擎)。虚幻引擎3使用
Ageia(以前的Novodex)物理引擎。
Keyframe(关键帧)-动画中或者mover(移动者)路径中的一个姿势,该姿势可以对动画运动
或移动着的移动进行插值。
LayersSystem(层次系统)-(Layers[层次])它是一种允许多个人同时在一张地图上工作的
机制。一个层次是一份地图,它可以独立于其它的层次地图进行编辑。这个工作流程的一个例子便是,
一个光照层次和一个几何体层次,这允许两个人在地图的这些区域独立地进行工作,不会产生相互的
重叠。
Level(关卡)-关卡定义了一组actors和其它的可以被自动加载及卸载的复杂数据。虚幻引擎3
中的世界可以有很多关卡组成;一个典型的游戏可以包含几百个独立的关卡。这些关卡可以基于接近
度、精确的加载/卸载触发器以及其它的标准来动态地被加载及卸载。关于关卡的更多信息,请参照
创建关卡和关卡动态载入文档。
Light(光源)-在附近的表面上投射光线的actor。
Light-map(光照贴图)-虚幻引擎3使用这个技术来解码投射到表面上的光照,包括光源入射光
线的近似方向。
Lightwave(光波)-它是第三方的建模程序,用于创建复杂的静态网格物体和/或骨架网格物
体。
LOD-(LevelofDetail[关卡细节层次])这个功能允许几何体的分辨率随着距离降低,从而可
以提高场景(尤其是带动画的人物)的帧频率。关于如何使用模型上的LOD的更多信息,请参照静态
网格物体编辑器用户指南文档。
Log(日志)-这个窗口打印出在游戏中或编辑器中发生的每个动作。
Map(地图)-这个保存的文件包含了放置在地图中的所有actor的属性以及您所创建的整个场景
的布局。
Masked(遮罩)-一个贴图属性,它使用alpha通道决定贴图的一部分是透明的还是不透明的。
Masked(遮罩)的贴图没有半透明。要想使用Masked(遮罩)设置,您必须把bMasked属性设置
为Fal。
Material(材质)-一个工具,用于使用贴图创建特殊效果。_Materials_可以在贴图浏览器中
进行显示和浏览,并且它们也被保存在贴图包中。关于使用不同类型的Materials(材质)的更多信
息,请参照贴图和材质文档。
Matinee-编辑器中的一个关键帧工具,它允许您在游戏中移动物体并改变其属性。您也可以在
相机路径及创建游戏中的镜头剪切时使用它。关于使用Matinee的更多信息,请参照Matinee用
户指南文档。
Max-(3DSMax)一个第三方的建模程序,用于创建复杂的静态网格物体和/或骨架网格物
体。
Maya-一个第三方的建模程序,用于创建复杂的静态网格物体和/或骨架网格物体。
MeshEmitter(网格物体发射器)-一个独立的发射器,可以按照在虚幻编辑器中设置的模式
发射静态网格物体。关于MeshEmitters(网格物体发射器)的更多信息,请参照粒子系统参考文档。
Meshes(网格物体)-它是在第三方程序中创建的模型,代表某个实体;术语Mesh(网格物体)
通常可以和术语staticmesh(静态网格物体)和skeletalmesh(骨架网格物体)替换地使用。
Mod-用户主要基于另一个商业游戏所创建的内容(比如虚幻竞技场),但是这个游戏已经被修改
来创建不同的内容或者进行修改来创建不同游戏性体验。
Modifier(修改器)-一个材质可以使用各种方式来修改一个贴图或者另一个材质,这些方式包括
(但不限于)平移、起浮、旋转和缩放。
Mover(移动者)-一个特殊的静态网格物体,可以在编辑器中对其设置关键帧,然后当类似于玩
家碰撞、武器开火或者触发器这样的事件触发时,使得该静态网格物体沿着这些关键帧定义的路径移
动。
Music(音乐)-歌曲文件,可以被添加到关卡中,使它在背景中播放或者当触发一个事件后播放
这个歌曲。这些歌曲文件必须是.ogg文件格式。
NonZeroExtentTraces(非零粗细跟踪)-它是跟踪方式,使用沿着直线运行的盒子来决定碰
撞。换句话说,如果两个点之间可以连线,它不再使用投射的2维的线来决定碰撞,而是使用沿着线
投射的三维的盒子来检测什么东西会组织盒子。
Notifies(通知)-一个调用函数,可以放置在给定动画的任何地方,可以触发另一个事件包括但
不限于产生声音、粒子系统或者可执行的UnrealScript函数。在一个走动动画中,当脚部接触地面
是所播放的脚步声是Notifies(通知)的一个很好的例子。
Novodex-这是虚幻引擎3中所使用的刚体物理引擎,用于模拟物体间的真实的运动和碰撞。
Novodex也用于UE3的车辆系统。Novodex归Ageia所有,它们的网站是
。
Outer(外部容器)-对于存储在包中的物体,该物体的外部容器通常是它们所在的组或包。对于
存储在关卡中的物体,它们的外部容器是关卡。
Order(顺序)-排序
P8-8位palletized贴图。
Package(包)-高层次的数据结构,用作为UObjects的容器。所有包含在一个包中的UObjects
将会把那个包作为它的外部容器属性的值。
ParticleSystem(粒子系统)-请参照发射器。
ParticleEmitter(粒子发射器)-粒子系统中的一种独立类型的发射器(比如Beam
Emitter(光束发射器)、MeshEmitter(网格物体发射器)、SparkEmitter(火花发射器)或Sprite
Emitter(平面粒子发射器))。
Pass(遍数)-场景在着色器中被描画一次为一Pass(遍)。一个场景在被描画出来之前可以要
求着色其渲染多Pass(遍)。换句话说,如果一个三角形要求渲染3遍,那么它将被着色器描画三
次。
PathNode(路径节点)-它是由很多线组成的网络中的一个点,它决定了bot可以运行到的位
置。在编辑器中PathNodes(路径节点)呈现为苹果。关于PathNodes(路径节点)的更多信息,
请参照NavigationAI(导航AI)文档。
Pawn-一个人物或者类,它可以在整个关卡中到处运动(或者靠它自己或者由玩家控制)。
PhAT-物理资源工具,它是编辑器的一部分,用于创建PhysicsAsts(物理资源)。PhAT允
许您取入一个网格物体,然后把碰撞模型和关节分配给骨骼。它也允许您实时地预览物理设置,并和
它进行交互。您参照Trash.物理资源工具文档获得关于PhAT的更多内容。
PhysicsAst(物理资源)-一组碰撞形状和关节设置组成了关于骨架网格物体的物理信息。比
如,布娃娃(ragdoll)的设置,您也可以使用PhysicsAsts(物理资源)来展示任何具有关节的物体
的物理。PhysicsAsts(物理资源)也可以用于更新骨架网格物体的包围盒,以及基于每个骨骼的碰
撞检测。PhAT是用于创建物理资源的一个工具。
PhysX-集成到虚幻引擎3中的Ageia(以前的Novodex)物理引擎。
PlayMap(播放地图)-当最终用户正在运行地图时实时地运行关卡。
Player(玩家)-当地图在实时地运行时,使用地图的人类用户。
PlayerStart-玩家的pawn或bot在关卡中的产生点。
Portal(入口)-(也称为ZonePortal(区域入口))特殊化刷的一种特定类型,通常以薄片的形
式出现,它可以把一个区域分为两个不同的区域。关于
Poly(多边形)-(也称为Polygon(多边形))一个三角形。
Primitive(图元)-一个标准的、不可改变的BSP图形,可以使用编辑器左侧的这些工具进行创
建(也就是曲线楼梯、圆柱体、圆锥、薄片等)。关于Primitives(图元)的更多信息,请参照Trash.
用户指南页面。
Projector(投射器)-它是一个actor,可以在场景中以各种类型几何体投射贴图。
Properties(属性)-任何actor或贴图的设置。要想访问actor的Properties(属性),只要
简单地按下F4键或者右击actor即可。
Quad(方形)-两个三角形组成一个方形,在线框模式下的地图中很容易看到它。
Ragdoll(布娃娃)-应用到人物模型上的真实地物理仿真,这可以使的人物像布娃娃那样进行动
作。
Rebuild(重新构建)-请参照Build(构建)。
Refpo(参考姿势)-(ReferencePo)一个带动画的任务在进行动画之前所处的默认姿势
(通常是直立姿势)
Renderer(着色器)-虚幻引擎的一部分,它是真正地把玩家看在场景中看到的东西描画出来的
工具。
RGBA8-一个红蓝绿8位图片。
Root(根骨骼)-在骨架动画层次中的最顶部的主要骨骼。当人物在关卡中运行时,Root(根骨
骼)会不断地平移和/或旋转。
RotationGizmo(旋转小工具)-一个用于旋转和平移actors的界面。
RotationGrid(旋转网格)-这个切换开关允许您以离散的时间间隔围绕着支点旋转actors。
Runtime(实时)-这个模式是指当关卡正在真正地运行时您可以作为玩家和关卡世界进行交互。
SeamlessWorlds(无缝的世界)-无缝世界系统的目标是动态地加载背景或者卸载和关卡相
关的复杂数据。这个功能和动态载入协同工作,以便所有和世界相关的数据都可以动态地加载。
Script(脚本)-请参照UnrealScript。
Shadowdepthbuffer(阴影深度缓冲)-这是一种渲染软边动态阴影的技术。虚幻引擎3使用
阴影深度缓冲来渲染静态光源下的动态物体所投射的阴影。
Shadow-map(阴影贴图)-一个贴图或基于每个顶点的蒙板,它存储着网格物体或者BSP表
面上每个点的特定光源的预计算阴影。
Shadowvolume(阴影体积)-一种渲染硬边动态阴影的技术。虚幻引擎3使用阴影体积渲染
动态光源投射的阴影。
ShapeEditor(图形编辑器)-(也成为2D图形编辑器)AtoolintheUnrealEditorthat
allowsonetocreateuniqueBSPbrushes.虚幻编辑器中的一个工具,允许您常见特殊的BSP
画刷。
Sheet(薄片)-创建ZonePortals(区域入口)通常使用的2D画刷。
SimpleBoxCollision(简化的盒式碰撞)-一种静态网格物体碰撞类型,它使用
NonZeroExtentTraces(非零粗细跟踪)来计算碰撞。关于_SimpleBoxCollision(简化的盒式碰
撞)_的更多信息,请参照碰撞参考文档。
SimpleRigidBodyCollision(简单的刚体碰撞)-一种静态网格物体碰撞类型,它使用
Hulls(外壳)来计算刚体的碰撞。关于SimpleRigidBodyCollision(简单的刚体碰撞)的更多信息,
请参照碰撞参考文档。
SimpleLineCollision(简化的线性碰撞)-一种静态网格物体碰撞类型,它使用
ZeroExtentTraces(零粗细跟踪)来计算碰撞。关于SimpleLineCollision(简化的线性碰撞)的更多
信息,请参照碰撞参考文档。
SkeletalMesh(骨架网格物体)-这个网格物体可以使用在第三方建模程序中所创建的骨架和
动画来使得骨架网格物体产生动画。关于SkeletalMesh(骨架网格物体)设置的更多信息,请参照
导入骨架网格物体指南页面。
Skeleton(骨架)-在第三方建模程序中为带动画的人物所设立的骨骼。
Skin(皮肤)-应用到网格物体(静态网格物体、骨架网格物体等)上的贴图。
SkinsArray(皮肤数组)-属性窗口中的一个文本域,允许您在一个模型上切换不同的皮肤或贴
图。
SkyDome(天幕)-一个大的半球形静态网格物体,可以用于创建远处天空的假象。请参照
SkyZone(天空区域)。
Snap(对齐)-(指的是网格Snap(对齐))当它移动或旋转时,这个功能把几何体对齐到网格上。
Socket(插槽)-它是骨架网格物体的骨骼上的指定的附加点。关于设立和使用插槽的信息请参
照SkeletalMeshSockets(骨架网格物体)插槽文档。
Sorting(排序)-选择着色器先描画什么的顺序和层次。
SpecialBrush(特殊画刷)-它是一个画刷,可以通过使用AddSpecialBrush(添加特殊画刷)
按钮来添加,这不仅为您提供了可能的默认SpecialBrushes(特殊画刷)下拉列表选项,也允许您
自定义一个唯一的SpecialBrush(特殊画刷)。关于SpecailBrushes(特殊画刷)的更多信息,
请参照Trash.虚幻编辑器用户指南文档。
Sprite(平面粒子)-应用到平面上的一个贴图(通常和粒子系统一同使用)。
SpriteEmitter(平面粒子发射器)-一个独立的发射器,它可以按照在虚幻编辑器中定义的方
式发射平面粒子。关于SpriteEmitters(平面粒子发射器)的更多信息,请参照粒子系统参考文档。
StaticMesh(静态网格物体)-(也称为_StaticMesh(静态网格物体)_)它是在第三方程序中
创建的模型,当把它添加到地图中时,它仍然保持固定性。
Streaming(动态载入)-(也称为ContentStreaming[内容动态载入])这种机制允许您根据
需要从源媒体中加载大量的游戏和场景信息。这对于那些不能一次在内存里存储整个场景的控制台游
戏平台和其它机器是有利的。关卡、贴图和其它类型的数据也可以进行动态载入。
Subobject(子对象)-一个对象中包含另一个对象,(除了UObjects包含在包)中意外。一般
通过使用BeginObject/EndObject'语法把子对象声明在类的.u文件的默认属性中。
SubtractiveBSP(挖空型BSP)-从固体和/或添加型世界空间中挖出的BSP空间。
SubtractiveBSP(挖空型BSP)是关卡中的一个开发空间,玩家可以在它的内部到处走动。请参照
BSP。
Surface(表面)-BSP的可见贴图。
SurfaceProperties(表面属性)-可以分配给BSP表面的属性。关于SurfaceProperties(表
面属性)的更多信息,请参照Trash.虚幻编辑器用户指南文档。
Tag(标签)-世界中的一个特定actor在它的属性窗口中的事件标签下所赋予该actor的名称。
Targa-虚幻引擎可以导入的一种贴图文件的格式。
Teleporter(电传)-它是一个actor,它可以立即地把玩家从地图的一个点发送到地图的另一个
点或者甚至是另一张地图中的某个点。
Template(模板)-包含在一个类的默认对象中的子对象。
Terrain(地形)-(也称为TerrainInfo(地形信息))一种几何体类型,它以一种高度多边形细分
的片,并且可以使用虚幻编辑器中的TerrainEditor(地形编辑器)工具使它发生变形以及对其进行
雕刻。关于使用Terrain(地形)的更多信息,请参照地形编辑器用户指南页面。
TerrainLayer(地形层次)-地形的分级层次,可以在这些层次上描画贴图并把它们在地形上进
行混合。关于Layers(层次)的更多信息,请参照设置地形文档。
Texture-一个可以分配给世界中的几何体的图片文件。材质有时也被指为Textures(贴图)。
关于Textures(贴图)的更多信息,请参照贴图和材质文档。
Trace(踪迹)-从一个点到另一个点(比如从一个枪支到目标)之间的一条连线(仅用于计算目
的),它可以用于决定碰撞。
Triangle(三角形)-最小的可渲染的世界几何体构建块,场景中的任何东西都是基于这些三角
形进行构建的。
Trigger(触发器)-一个actor,它可以在游戏播放过程中触发一个事件。
Umod-(也称为UnrealMOD(虚幻MOD))这是一个平台独立的文档服务器,它允许mod创
建者把它们的游戏内容发布给虚幻引擎游戏玩家。(仅虚幻引擎1和虚幻引擎2)。
UnEdit-这是为虚幻引擎2授权用户提供的邮件列表,它作为虚幻引擎内容创建和虚幻编辑器
应用的支持组提供。
UnEdit3-这是为虚幻引擎3授权用户提供的邮件列表,它作为虚幻引擎内容创建和虚幻编辑器
应用的支持组提供。关于UnEdit的更多信息,请参照UnEdit3文档。
UnrealDeveloperNetwork(虚幻开发者网络)-(也称为UDN)这个团队为虚幻引擎3的
授权用户提供支持。关于UnrealDeveloperNetwork(虚幻开发者网络)的更多信息,请参照
e页面。
UnrealEd-(也称为UnrealEditor(虚幻编辑器))这个编辑工具允许您创建可播放的交互式的
世界。
UnrealScript-它是Unreal本身具有的一个编程语言,它可以用于为AI和游戏事件创建脚本
序列(一系列的动作)。
URU-(也称为UnrealRotationUnit(虚幻旋转单位);UnrealUnit(虚幻单位))虚幻编辑器
中用于度量距离和旋转量的单位。注意虚幻引擎的旋转单位16384=90�。
UT-(也称为UnrealTournament(虚幻竞技场))使用虚幻引擎的第一代版本发行的一个游戏。
要想查看第一代虚幻引擎版本发行的其它游戏,请参照FirstGenerationTitles(第一代游戏)文档。
UT2003-(也称为虚幻竞技场2003)这是基于虚幻引擎2110版本上进行了很多修改后发行的
版本。关于UT2003的更多信息,请参照Tournament2003(虚幻竞技场2003)
页面。
Vertex(顶点)-(复数Vertices(顶点))几何三角形的一个点。
VertexColor(顶点颜色)-一种基于顶点添加颜色来对几何体进行着色的技术。
Viewport(视口)-虚幻编辑器的一个显示窗口,它可以显示前视口、侧视口、顶视口和透视口。
Volume(体积)-一个三维空间,它可以影响各种游戏性功能,比如移动、可见性和玩家损害。
WarpZone(电传区域)-一个特殊的区域,它包含着WarpZoneInfo信息,该信息可以使得
玩家从一个WarpZone立即运行到另一个相应的WarpZone。
Wiki-一个网页格式的系统,它允许进行容易的快速的在线维护。UDN网站是基于Wiki的。
Wikiwiki-夏威夷语的意思是快速的。
World(世界)-(参照Map(地图)、Levels(关卡))这个构造组成了游戏中的整个场景。虚幻引
擎3中的世界可以由很多较小的已知关卡进行构建,世界存储在地图文件中。
Zone(区域)-为了优化目的,关卡中的区域都使用入口进行了区域划分。
ZoneInfo(区域信息)-它是一个actor,允许您改变它所在区域的属性。
ZBuffer-显卡中的某段视频内存,它跟踪可以看到的和隐藏在其它物体后面的场景元素。
ZeroExtentTraces(零粗细跟踪)-一个跟踪,它使用从源到目标之间的一维的线来决定碰撞。
ZFight-一种闪动的视觉失真现象,当两个表面或者占用同一个平面或者它们接近于占用同一个
平面和空间时,在那里可以显示的贴图看上去就像在“打斗”一样来获得显示权。
ZonePortal(区域入口)-请参照入口。
FarCryandHalfLife2Enginescene
technique
当前对于流行的第一人称游戏来说,将室
内场景渲染和室外场景渲染进行融合是主流
的趋势,本文试图从场景架构入手对当前流行
的两个游戏引擎FarCry和HalfLife2进行一些
非常浅显的介绍、分析、比较,由于本人学识
浅薄,本文中可能存在一些错误之处,请大家
予以谅解,并请高手给予指正。
在过去由于硬件发展的限制因此第一人
称游戏只能在室内场景进行,随着硬件技术的
发展它逐渐由室内向室外场景进行过渡,发展
到现在已经有大量的游戏可以同时对室内和
室外场景进行渲染,当前这类游戏的代表就是
FarCry和HalfLife2,它们完全使用了两种不
同的方法来实现室内外场景的融合。
FarCry:
FarCry将场景分为室内和室外两部分,对
于室内场景它使用了流行的BSP方法来对场
景进行组织,BSP方法在网上有大量的资源可
以进行参考,这里我不在进行详细的阐述,在
HalfLife2部分我再进行一些简单的介绍,这里
我将重点介绍一下它室外场景部分所使用的
技术。通常对于室外场景部分最重要的是地形
部分的渲染,当前对地形的渲染存在着大量的
算法,其中比较主流的有ROAM、GeoMipmap、
ChunkLOD等等,FarCry并没有使用上述的
算法,为什么呢?对于ROAM来说它确实是
一种非常良好的地形渲染解决方案,但是它存
在一个非常大的弊端就是它的灵敏度非常高,
因为它是一种连续的基于三角形分割的LOD
算法,因此只要Camera的位置发生很小的位
移,整个场景的LOD都需要发生变化,这非
常不适应于当前的硬件架构。而对于
GeoMipmap这种利用当前显卡高渲染速度通
过增加填充率来加速地形渲染的方法其实也
不符合当前游戏引擎的发展方向,正是由于这
些方法的限制FarCry使用了一种比较折中的
地形渲染方法,这种方法非常类似与Game
ProgrammingGems2中GregSnook提出的
InterlockingTiles方法,但是还存在着一些相差
别的地方,在FarCry的关卡编辑器SandBox
中我们可以看到通常它使用的是1025*1025大
小的HeightMap,每一个Tile的大小为
(32+1)*(32+1),存在4级的LOD,因此一个Tile
最简化时的大小为(4+1)*(4+1),对于不同LOD
级别Tile的连接使用了和InterlockingTiles一
样的方法,使用固定的连接模版进行
连接,这里两者差异最大的地方是对Tile内部
三角形的生成方式,对于InterlockingTiles方
法它使用的类似于以前CLOD的方法,分割后
的形状象是一个“米”字的形状,而FarCry的分
割方式是对角分割线的方向都是一致的,这样
做的好处是非常容易生成TrigleStrip。好了现
在我们看看使用这种方法有那些优点。其一,
由于每一个Tile只存在4级LOD因此避免了
ROAM那种灵敏度过高的弊端。其二,由于地
形是由一个个Tile构成,因此非常适合使用
QuadTree这样的结构来进行管理。其三,由于
每一级LOD的Tile顶点顺序都是固定的,因
此可以对地形顶点数据进行预先的优化,如提
前就可以确定生成TrigleStrip的索引缓冲区。
其四、可以使用预先计算好的LOD查找表的
方法来获得每一个Tile的LOD级别,而不需
要通过实时计算来获得。这种方法还有许多其
他的优点需要实际使用时认真的体会我就不
再一一列举了,FarCry在对地形进行渲染时还
使用一种OC方法来对地形中被遮挡住的Tile
进行剔除,相关的论文请参考tewart
发表于EurographicsRenderingWorkshop的论
文HierarchicalVisibilityinTerrains,june1997,
我不再进行介绍。当FarCry需要同时对室内
外场景进行渲染时,它使用portal来对场景进
行渲染,如果从整体上来说的话,FarCry的做
法是对室内外场景的渲染分别进行处理,它们
完全是两个部分,当这两个部分需要发生联系
时,通过portal来进行处理,这样FarCry的场
景架构就显得非常简单明了,至于portal的工
作过程我后面再进行介绍。下面来看看Half
Life2的做法。
HalfLife2:
在介绍HalfLife2架构之前,我需要先解释
一下surface的概念,因为HalfLife2的场景都
是由surface所组成,它是场景中最基本的图
元。surface是由共处于一个平面上多个顶点所
组成的物体,例如一面墙我们可以称它为
surface,因为组成墙的所有顶点位于同一个平
面内。通常在HalfLife2中把surface分为四类:
水面、水面之上、水面之下、横跨水面。了解
了surface的基本概念,下面看一下如何进行场
景处理。在HalfLife2中场景被分为三部分:
cluster,area,displacement。其中cluster对应于室
内场景的处理,area对应于类似于城市这样建
筑物众多的室外场景,displacement对应于地
形这样的室外场景。必须注意的是在HalfLife2
中对所有的场景都使用BSP来进行场景管理,
而不是象FarCry那样分别进行处理,它是如
何实现的呢,下面我们根据不同的场景分别进
行介绍。
对于cluster这样的室内场景,使用最基
本的BSP方法来对场景进行管理,也就是基于
多边形对齐的BSP算法,什么是cluster呢?实
际上一个房间就可以看作是一个cluster,一个
cluster是有严格的定义的,它必须保证组成
cluster的多边形形成一个“凸”物体,也就是组
成cluster的任意两个顶点之间的直线不能位于
cluster的外面,一个室内场景完全由一个一个
的cluster所组成,cluster之间通过portal进行
连接,房间中的门、窗户都可以看作是一个
protal,它是由处于同一个平面上的多个顶点组
成的闭合的多边形,通过使用portal可以对每
一个cluster做光线跟踪处理,获得在每一个
cluster上可见的cluster列表,这就是PVS数据
了,室内场景在实际运行时可以通过PVS数据
快速的进行可见性检查,剔除不可见的cluster
来加速场景的渲染。室内场景中的portal通常
是由程序自动生成的,相关的算法非常多,一
篇非常好的参考文章是位于上的
由国人胡灵和李振霄所写的AutomaticPortal
Generation,非常佩服,这是我在
上看到的第一篇由中国人所写的技术文章。当
获得了场景的cluster信息后就可以将它和BSP
的节点信息相连了,由于portal必然处于节点
的分割面上,因此这一步非常简单。
下面看看如何处理城市这样的室外场景,
这类场景由于拥有大量的建筑物并将场景分
割成一块一块的区域,因此也可以使用上面处
理室内场景的方法来对它进行处理。这方面的
论文也有很多,比较好的一篇是由AlonLerner
等人写的BreakingtheWalls:ScenePartitioning
andPortalCreation。我这里只是简单的介绍一
下,这类场景可以看作是由一个个的area组成,
area的概念非常类似cluster,一条街道,一栋
楼房都可以看作是一个area,这里必须提醒一
下组成area的surface的法线必须指向其内部,
cluster也是这样,因此街道这样的area是由楼
房的外表面所组成,而楼房这样的area是由其
内表面所组成。每一个area也是通过portal进
行连接,对于这样的场景不能再使用预计算
PVS的方法进行可见性检查,而需要通过使用
portal对场景进行实时的剪切剔除运算,必须
注意这里对portal的记录方式,在室内场景中
的portal通常需要记录它所连接的两个cluster,
而这里的areaportal只记录一个与其相连的
area,也就是这里的portal都是单向的,这样
做的原因是为了方便进行area的可见性检查,
只要知道portal可见那么和其相连的area一定
可见。area和cluster存在一个非常大的差异地
方是area不再必须是一个“凸”物体,它可以是
任意的由surface组成的一个空间,因此如果对
这样的场景进行BSP分割后,一个area可能只
包含一个叶节点,也可能是包含多个叶节点的
完整BSP子树。对于area进行处理时还有一种
特殊的情况,就是area和cluster发生连接时,
通常这个时候cluster被包含在area内部,例如
对于场景中的一栋建筑物可以看作是一个
area,通向外部的门、窗可以看作是此area的
portal,这个建筑物的内部可以看作是一个完整
的室内场景,形成一个BSP子树,这样通过
portal可以巧妙的将两种场景融合到一起。下
面具体看看如何通过portal来对area进行可见
性检查,需要注意一点area没有AABB,而只
有portal和叶节点才拥有AABB,方法如下:
1、由摄象机所位于的area出发递归遍历
场景中所有的areaportal,检查哪些portal是可
见的(使用简单的frustumculling),通过这些
portal我们可以获得一个当前可见area列表。
2、对于所有可见的portal将其顶点投影到
屏幕上,获得它在屏幕上的一个包围框。
3、对portal在屏幕上的包围框使用视口的
包围框进行剪切,获得portal包围框在当前视
口完全可见的部分。
4、通过使用这个包围框可以获得一个
frustum,这样每一个可见的portal都可以对其
相连的area所包含叶节点的AABB进行
frustumculling运算,从而最终获得一个当前可
见的叶节点列表(当然对当前所在的area所包
含的叶节点也需要进行frustumculling)。
最后来看看HL2是如何来处理地形这样的
大动态场景的。HL2处理地形使用的是一种非
常特殊的displacement系统,现在heightmap
是记录地形信息最流行的做法,但是HL2并没
有使用这种方法,他使用了一种称为
displacementmap的物体来记录地形信息,为
什么这样做呢?根据我的看法主要有以下的
原因:首先使用heightmap记录地形信息其实
有一个非常大的弊端,它不能处理非常复杂的
地形,用它生成的地形都是连续的,这是因为
在每一个位置它只能记录一个高度值,当同一
个位置发生高度重叠时它无能为力。其次我前
面介绍过HL2场景完全是由surface所组成的,
使用heightmap你无法将地形信息和surface相
连,而通过使用displacementmap可以简单的
将地形信息和surface连接起来。下面我们具体
来看看它是如何工作的,通常一个displacement
map对应一块地形,它最大可以表示
(16+1)*(16+1)这样的地形块,它非常类似
heightmap,不过heightmap只记录每一个位置
上的高度值,而displacementmap不仅记录高
度值而且记录每一点的法线,由于法线的存在
它就可以记录非常复杂的地形,不过
displacementmap存在一个限制,它的四角的
顶点必须位于同一个平面上,正是这个限制的
存在从而使displacementmap和surface巧妙的
联系在一起,因为surface上的所有顶点必须位
于同一平面上。每一个displacementmap不仅
记录高度信息还记录了邻边和邻角的
displacementmap信息,通过这些信息可以对
一片地形快速的建立一个Quadtree,通过它来
对地形进行有效的管理。每一个displacement
map都拥有四级LOD,从(2+1)*(2+1)到
(16+1)*(16+1)。下面来看看HL2是如何将地形
和BSP相联系的,对于一片地形我们可以把它
看作是一个area,这样与其它场景可以通过
portal相连接起来,而每一个displacementmap
你可以把它看作一个BSP的叶节点,通过前面
建立的Quadtree,你可以快速的将它转换为
BSPtree(其实这一步不是必须的,你只需要知
道displacementmap和叶节点的连接关系即
可),当进行地形的可见性检查时使用Quad
tree进行,最终还是可以获得一个可见的叶节
点列表。
通过上面的介绍可以看出FarCry和HL2
的场景架构差异是非常大的,FarCry的各个场
景之间是完全独立的,而HL2则巧妙的将其融
合到BSP格式中,形成了架构的统一性。正是
因为如此使HL2对付任意的场景都应付自如,
而FarCry却只能限制游戏的场景形式,因此
HL2的游戏架构明显优于FarCry,成为了3D
引擎发展的主流趋势,不过FarCry在一些场
景细节上的处理确实非常优秀,如海岸边的潮
起潮落,这是HL2需要明显改进的地方,不过
HL2在光源处理上确实是技术超群,全
lightmap光照架构,将lightmap应用到极至的
bumpedlightmap技术,只能是令人叹服,这里
不再一一列举,我只能说HL2是当前商业引擎
中的NO.1。
本文发布于:2022-12-28 12:25:36,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/46614.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |