Havok物理引擎-刚体介绍

来源:互联网 发布:手机扫描软件免费 编辑:程序博客网 时间:2024/05/16 18:23
引言
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 密接类型): 指定密接类型。 密接用于解决对象回弹的问题,即创建新接触点后,与某个图形的碰撞被转为与临近图形的碰撞的问题。

转自:project anarchy中文社区

0 0