引言
Vision 引擎内置 Havok™ 刚体物理组件,可对实体和其他图形应用动态 / 静态物理属性。 刚体物理组件是通过添加组件的方式实现的,其中包含为多种物理对象类型提供变体的各类属性。
注:默认设置下,静态几何网格的碰撞组设置是在从建模工具导出模型时完成的。 您不能给静态几何网格分配 Havok™ 刚体组件。 要设置静态几何网格的自定义物理属性,请查看其属性中的物理部分。
可附加的图形类型
该组件可附加到以下任何图形类型上:
实体
刚体组件属性
以下是与 Havok™ 刚体组件有关的属性。
ComponentID(组件 ID): 可选组件名称,用于在附加组件中标识该组件
ShapeType(图形类型): 用于物理的几何体类型。 这些图形包括:
Box(长方体): 使用一个长方体作为物理几何体。
Sphere(球体): 使用一个球体作为物理几何体。
Convex Hull(凸包): 使用更复杂的图形为复杂对象添加更多定义。 此类型会覆盖几何网格中的任何孔洞。 该图形会完全包围对象,可将其视为一种更复杂的球体或框体。
File(文件): 使用一个在 Havok_FileResourceName 属性中用 Havok™ 对象名称指定的文件。
Capsule(胶囊): 使用一个胶囊作为物理几何体。
Cylinder(圆柱体): 使用一个圆柱体作为物理几何体。
Mesh(几何网格): 使用几何网格作为其物理几何体。 使用这一类型可穿透孔洞。例如,如果您有一座桥,您可以从孔洞中穿过,而不像物理凸包那样会覆盖孔洞。 请注意,由于性能原因,此图形类型的刚体会始终将其 Havok_MotionType 和 Havok_QualityType 设为固定。 因此,这些刚体为静态,可以和其他对象碰撞,但不会移动。
ShapeCentreOfMass(图形重心): 刚体在其本地空间中的重心。
Havok_NoDeactivate(Havok 始终激活): 如设为 true,此刚体将始终保持激活。
Havok_Mass(Havok 质量): 刚体质量,以千克为单位。
Havok_InertiaTensorComputeMode(Havok 惯性张量计算模式): 惯性张量计算模式有 2 种,分别是表面和体积。
Havok_InertiaTensorAxisScaling(Havok 惯性张量轴缩放): 惯性张量轴的缩放因数。
Havok_InertiaTensorScaling(Havok 惯性张量缩放): 惯性张量所有分量的缩放因数。
Havok_Friction(Havok 摩擦): 定义刚体表面光滑度。 0 为光滑,>0 为带摩擦,值越大,摩擦度越大。 默认值为 0.5。
Havok_Restitution(Havok 回弹): 定义刚体的弹性。 0 为无弹性,>0 为有弹性,值越大,弹性越大。 默认值为 0.4。
Havok_LinearDamping(Havok 线性减速): 定义刚体移动速度随时间变慢的程度。 值越大,刚体速度减得越快。
Havok_AngularDamping(Havok 角减速): 定义刚体旋转速度随时间变慢的程度。
Debug Render(调试渲染): 启用或关闭物理调试渲染。
Havok_MotionType(Havok 运动类型): 应用于刚体的物理类型。 不同类型有:
Dynamic(动态): 这一运动类型给予刚体四处移动的能力。 基于输入的惯性值,它会自动选择球体 / 框体的惯性运动类型。
Box Inertia(框体惯性): 这一运动类型使用框体惯性张量进行模拟。
Sphere Inertia(球体惯性): 这一运动类型使用球体惯性张量进行模拟
Thin Box Inertia(扁框体惯性): 这一运动类型和框体惯性相同,但为扁框体特别优化,稳定性问题更少。
Keyframed(关键帧): 这一运动类型可以被移动,并推动周围的其他对象。
Fixed(固定): 这一运动类型可以和其他对象碰撞,但属于静态,因此不会移动。
Character(角色): 用于角色控制器的专用运动。
Shape_PivotOffsetAutoAllign(图形中心点补偿自动对齐): 中心点补偿自动对齐
Havok_CollisionLayer(Havok 碰撞层): 定义该刚体所分配到的碰撞层。
Havok_CollisionGroup(Havok 碰撞组): 定义该刚体所分配到的碰撞组。
Havok_SubSystemID(Havok 子系统 ID): 定义该刚体的子系统 ID
Havok_SubSystemDontCollideWith(Havok 子系统无碰撞): 定义该刚体不应碰撞的子系统 ID
Havok_QualityType(Havok 质量类型): 用于指定何时使用连续物理。 这不影响固定运动类型的刚体。 该属性默认为 Auto,即根据运动类型自动分配。
Havok_AlwaysInitAsDynamic(Havok 始终初始化为动态类型): 强制初始化为动态运动类型,并在初始化之后设置配置好的运动类型。 理由:只有初始化为动态类型的对象可从固定 / 关键帧状态重新改为动态(例如,在载入游戏进度之后)。
Havok_Active(Havok 激活): 指定该刚体是否激活。 该对象取消激活时会被从 Havok™ 世界中移除,所以其碰撞随后会被忽略。
图形类型 - 框体相关属性
各种框体相关属性:
Shape_BoxSize(图形框体尺寸): 刚体框体几何网格的尺寸。
图形类型 - 球体相关属性:
各种球体相关属性:
Shape_Radius(图形半径): 球体几何网格的半径
图形类型 - 文件相关属性
以下为文件相关属性:
Havok_FileResourceName(Havok 文件资源名): 如果图形类型为 File(文件)则定义用于刚体的 Havok™ 文件。
Havok_TakeRbDataFromFile(Havok 从文件获取刚体数据): 定义您是希望整个刚体都来自文件、还是仅有碰撞图形来自文件。
注:这些文件可使用 Havok™ 物理系统的专用导出器插件从 3ds Max / Maya 导出
图形类型 - 胶囊相关属性
各种胶囊相关属性:
Shape_Radius(图形半径): 胶囊几何网格半径
Shape_Height(图形高度): 胶囊几何网格高度
图形类型 - 圆柱体相关属性
各种相关属性:
Shape_Radius(图形半径): 圆柱体几何网格半径
Shape_Height(图形高度): 圆柱体几何网格高度
图形类型 - 几何网格相关属性
以下为几何网格相关属性:
Havok_WeldingType(Havok 密接类型): 指定密接类型。 密接用于解决对象回弹的问题,即创建新接触点后,与某个图形的碰撞被转为与临近图形的碰撞的问题。
相关推荐
Havok教程资料提供了Havok物理引擎的详细介绍、开发环境的搭建、Havok基础库的简介等内容。 一、Havok物理引擎简介 Havok引擎,全称为Havok游戏动力开发工具包(Havok Game Dynamics SDK),是一款用于物理系统...
《Havok物理引擎教程——基于Ogre的SimpleBoxes示例》 Havok物理引擎是一款业界领先的实时3D物理模拟技术,广泛应用于游戏开发、电影特效等领域。本教程聚焦于“SimpleBoxes”示例,它展示了如何在Havok环境中创建...
1. Havok物理引擎:Havok是游戏开发中广泛使用的物理引擎,它提供了一整套解决方案,包括刚体动力学、碰撞检测、布料模拟等。在本Demo中,Havok主要负责处理角色和环境的物理交互,确保动作的自然和真实。 2. Ogre ...
这个"UnrealEngine3.tar.gz_Havok_UNREALENGINE_UnrealEngine.i_编辑器_虚幻3引擎"压缩包,正如其名,包含了虚幻引擎3的核心源代码,特别是与编辑器相关的部分,以及可能整合了Havok物理引擎的组件。 1. **虚幻引擎...
对于3D游戏,常见的物理引擎包括Havok、PhysX、Bullet、ODE等;而对于2D游戏,则有Box2D、Chipmunk等选项。开源物理引擎如Box2D允许开发者无需支付费用即可使用,而商业引擎则需要相应的授权。不同的物理引擎有不同...
【基于Ogre的Havok演示代码】是一个项目,展示了如何在Ogre 3D渲染引擎中集成Havok物理引擎进行游戏开发或模拟。这个项目涵盖了多个关键的知识点,包括场景管理、物理交互、网络同步以及调试工具的使用。 首先,让...
Box2D是一个较为简单的2D刚体物理引擎,自2006年创建,曾在游戏开发者大会(GDC)上被介绍。Box2D Lite是Box2D的一个简化版本,也专注于刚体物理模拟。在Box2D中,World结构体是物理世界的基础,它包含着物体...
常见的物理引擎有Unity的内置物理引擎,还有像PhysX、Havok这样的第三方物理引擎。物理引擎通常包含刚体动力学、软体模拟、碰撞检测和解决、流体动力学等多个模块,确保游戏世界中的物体行为符合物理规则。 三、...
- **Havok Physics**:由Intel收购的物理引擎,被用于多款著名游戏中,支持多种高级物理效果。 #### 第4章 数值模拟与仿真 数值模拟与仿真是在数学模型的基础上,通过数值计算来求解问题的过程。这一过程通常涉及...
为了简化物理系统的开发和维护,游戏开发者通常会使用物理引擎,如PhysX、Havok等。物理引擎提供了一系列预先实现的物理模型和算法,可以大大降低游戏开发的复杂度。通过物理引擎,开发者可以轻松地实现重力、碰撞、...
在实际开发中,游戏开发者会利用各种物理引擎和开发工具来实现上述物理效果,常见的物理引擎有PhysX、Havok、Unreal Engine自带的物理系统等。这些工具通常会提供丰富的API和接口,开发者可以通过编程调用这些接口来...
6. **物理引擎**:为了简化物理模拟的复杂性,游戏开发者通常会使用物理引擎,如Unity的内置PhysX引擎、Havok或Bullet等。这些引擎提供了预设的物理规则和优化的计算方法,帮助开发者快速实现复杂的物理效果。 7. *...
9. **物理引擎**:为了简化开发,许多游戏使用现成的物理引擎,如Unity的PhysX、Unreal Engine的Chaos或Havok等。这些引擎提供了预设的物理行为和API,方便开发者集成和自定义。 10. **优化与性能**:实时物理模拟...
1. 物理模拟:CryEngine3采用Havok物理引擎,支持刚体和软体物体的碰撞检测及动力学模拟,实现真实世界中的物理行为。 2. AI系统:CryEngine3的AI设计灵活,支持行为树和导航网格,让非玩家角色(NPC)能够根据环境...
常见的物理引擎有Havok、Bullet、Box2D等,它们提供了各种物理模拟功能,如刚体动力学、软体动力学和流体动力学。 2. **刚体动力学**:在游戏编程中,刚体用于模拟硬质物体,如角色、车辆或建筑物。它们遵循牛顿的...
3. **物理模拟**:物理引擎让游戏中的物体运动显得真实,如碰撞检测、刚体动力学、软体模拟等。常见的物理引擎有PhysX和Havok。 4. **音频处理**:游戏引擎需要处理音效和音乐播放,包括3D音效定位、音量控制、音频...
7. **物理引擎**:现代游戏通常使用物理引擎来处理所有物理计算,如Havok、PhysX和Bullet等。这些引擎提供了一套完整的物理模拟解决方案,简化了开发者的编程工作。 8. **软体动力学**:对于布料、头发、绳索等可...
3D引擎通常包含物理引擎模块,如Havok、Bullet或PhysX,它们负责处理物体碰撞、运动和重力等物理现象,使游戏中的物体行为更加自然。物理引擎还能支持复杂的效果,如布料模拟、流体动力学和刚体动力学,增强游戏的...
在游戏开发中,物理引擎如Unity的内置物理引擎或者Havok、PhysX等,为开发者提供了方便的API来实现这些功能。开发者可以通过调整参数来控制物理效果的逼真度,以达到游戏设计的需求。例如,增加碰撞后的抖动效果,...
源码可能包括了汽车模型的定义、碰撞检测函数、物理引擎接口的封装,以及碰撞后的反馈处理。比如,可能会有一个类表示汽车对象,包含位置、速度、旋转等属性;另一个类或一系列函数负责碰撞检测,可能包含了碰撞检测...