Vision引擎中 Havok 人偶介绍

引言
Havok™ 物理人偶组件让您为模型骨架设置物理模拟。 每块骨骼在物理上都以刚体表示。 刚体由约束连接,以形成分层结构,而该结构与骨架的分层结构对应。 使用 3ds Max 或 Maya,整个刚体分层结构都需导出为 .hkt 文件,然后由组件载入。

Vision引擎中 Havok 人偶介绍

可附加的图形类型
该组件可附加到以下任何图形类型上:
 
   实体
 
人偶组件属性
以下是与 Havok™ 刚体组件有关的属性。

Vision引擎中 Havok 人偶介绍

ComponentID(组件 ID): 可选组件名称,用于在附加组件中标识该组件
 
Enabled(启用): 指定该人偶是否激活。 取消激活后,该对象从 Havok™ 世界中移除,也就是说该组件不再进行任何物理模拟。
 
Ragdoll Collision File(人偶碰撞文件): 刚体在其本地空间中的重心。
 
Debug Render(调试渲染): 启用或关闭物理调试渲染。
 
Debug Color(调试色): 用于显示调试几何体的颜色。
 
导出人偶碰撞文件
为了让人偶组件工作,须使用 Havok 内容工具(HCT)导出包含刚体 / 约束分层结构的 .hkt 文件。 Havok™ Vision 物理引擎插件使用对象名称来查找刚体和角色骨架骨骼的对应关系。 有两种命名机制可让您在 3ds Max 和 Maya 中指定这些对应关系。
 
Havok 内容工具命名机制
 
使用 Havok™ 人偶工具箱可轻松创建刚体的分层结构。 Havok™ 人偶工具箱自动分配给新创建的刚体的对象名称会被直接使用,用于在 Havok™ Vision 中查找对应的骨骼。 刚体名称包含骨骼名称:
 
Ragdoll_{BoneName}xx(例如Ragdoll_Biped Pelvis001 → Biped Pelvis)。
 
其中 xx 是任意长度的数字序列。
     注:因为刚体名称以数字序列结尾,所以骨骼名称不得以数字序列结尾,否则映射将存在歧义。
 
这一点应在使用 3ds Max 和 Maya 创建人偶之前检查。 除此之外不需要任何手动重命名。
 
骨骼到刚体的命名机制
这一命名机制不存在产生歧义的可能。 它使用冒号将骨骼名称与对应刚体名称隔开。 所以在该命名机制下,骨骼名称包含了刚体的名称:
 
{BoneName}:{RigidBodyName}(例如 Biped Pelvis:Rb_Pelvis → Rb_Pelvis)
 
通过 HCT 过滤器管理器导出
所产生的 .hkt 文件应仅包含人偶的刚体和约束。 其实现方式为启用  Visible Only(仅可见) 或 Selected Only(仅选中)勾选框,这两个勾选框位于 HCT 导出选项的场景数据部分。 不使用 Havok™ 动画的应用程序可使用以下过滤器顺序:
 
Transform Scene(转换场景)(核心过滤器)
Create Rigid Bodies(创建刚体)(物理过滤器)
Create Constraints(创建约束)(物理过滤器)
Create World(创建世界)(物理过滤器)
Write to Platform(写至平台)(核心过滤器)
Transform Scene 过滤器用于为 Havok™ 物理效果设置缩放(相对于 Havok™ Vision 通常为 0.01)。  Create World Filter 会为刚体分配合适的碰撞过滤器信息。 这些信息是创建多个不会互相碰撞的系统组所需的,能够让刚体的物理模拟更加稳定。 在 Create World 选项中,碰撞过滤设为 GROUP_FILTER,Auto Assignment(自动分配)设为启用:

Vision引擎中 Havok 人偶介绍

层应设为 1,即 Vision 中的动态对象层。 如果 Havok™ 动画可用, Create World 可被  Create Ragdoll 过滤器替代,后者会自动分配碰撞过滤器信息。
 
为了最小化 .hkt 文件的尺寸,建议使用  Prune Types(删减类型)过滤器,并启用移除  All Scene Data(所有场景数据)的勾选框。 这样一来,只有确实需要的刚体和约束数据会被导出:

Vision引擎中 Havok 人偶介绍

关于如何创建人偶刚体分层结构和导出 .hkt 文件的信息可在 Havok™ 内容工具文档和对应教程中找到。

你可能感兴趣的:(visio)