引言
Havok™ 物理约束是一种特殊的专用图形类型,可以链接到静态或动态的世界锚点图形,用于创建铰链、球窝接头和其他约束类型系统。 这些约束图形限制了被物理图形链接的所有对象的移动,为物理模拟增添真实感。 锚点图形可以无需父项地绑定到世界中(静态锚点),或以成为某实体子项的方式绑定到对象(动态锚点)。
约束和锚点图形
约束图形位于 Havok™ 图形组,锚点可在对象组中找到,从图形创建面板将这些图形拖拽到场景中即可完成添加。
连接物理对象
使用约束和锚点图形,可将附有刚体组件的实体物理链接到另一个此类实体。 必须首先将锚点放置在场景中,然后还要以从图形列表中拖拽实体的方式添加实体。
在场景中添加约束后,该约束可以通过链接实用工具链接到实体锚点:
注:一个 Havok™ 约束同时只能链接到两个锚点。
下图显示了实体、约束和锚点间的关系。
术语
Tau: 较大的推动或推力可拉伸所有约束。 约束的 tau 值决定了以物理时间步进为单位的恢复速度。 值越高,约束恢复越快。 因此,tau 值影响两个点之间的恢复力强度。 取值范围为 0.0f 到 1.0f。 1/sqrt(系统中约束的数量)是不错的选值。
Strength(强度): 对象速度的强度因数。 通常,1.0 是完美的取值,仅当很多对象被约束在一起时,该参数才可能要设得略低,以实现更高的稳定性。
约束属性
约束属性会根据您所选择的物理约束类型而改变。 除了位置和图形设置等常见属性外,以下为其主要属性。
Constraint Type(约束类型): 使用下拉列表选择所需约束类型,您可以选择:
共有属性
大部分约束共有很多属性,所有约束体的 Breakable(可破)和 Malleable(可延展)设置都一样。 以下为共有属性:
Breakable Settings(可破设置):
Is Breakable(可破): 如果您希望物理关节能被一定的力打破,就将该属性设为 TRUE,然后更改阈值。
Threshold(阈值): 约束被打破的阈值。 这是关节能承受而不破裂的最大力度。 该属性的取值范围为 0 到 无限大。 该属性仅在可破属性为 TRUE 时生效。
Revert Velocity On Break(破裂时倒转运动): 该属性为布尔值。 该属性用于设定是否倒转受影响刚体的运动方向。 该属性仅在可破属性为 TRUE 时生效。
Malleable Settings(可延展设置):
Is Malleable(可延展): 如果您希望关节更具延展性,就将该属性设为 TRUE。
Strength(强度): 关节强度。 0.0 为自由延展,1.0 为不可延展。 使用该属性可让您的关节移动和延展得更多。
以下是对应约束类型的专有属性。
球窝接头
球窝接头约束关节可以模拟球窝结合,即一个刚体在第二个刚体的基座中绕中心点旋转,该中心点位于需要放置关节的位置。
除了位于约束共有属性中的共有属性之外,这一约束不包含任何属性,
铰链
铰链约束可在 2 个刚体之间模拟类似铰链的动作。 铰链约束的作用是限制,尤其是限制被连接刚体可旋转的最大角度,这有利于避免贯通。
以下是与铰链物理约束有关的属性。 铰链约束属性列表中也呈现图形的朝向组。
Limits Settings(限制设置):
Use Limits(使用限制): 该属性设为 TRUE 即激活约束的限制。
Limit Max(最大限制): 该属性设置约束的最大限制角度,以度为单位。 0 ⇐ 最大限制 ⇐(360 + 最小限制)。
Limit Min(最小限制): 该属性设置约束的最小限制角度,以度为单位。 (-360 + 最大限制)⇐ 最小限制 ⇐0。
要查看所有约束共有的其他属性,请检查约束共有属性。
人偶
人偶约束关节限制了依附对象与另一参照对象之间的运动角度;有助于创建人和动物的肢体关节。
以下是与人偶物理约束有关的属性。
Type Properties(类型属性):
Cone Angle(锥体角度): 该属性设置了锥体绕扭转轴运动的角度,以度为单位。
Plane Cone Min Angle(平面锥体最小角度): 该属性设置了围绕负平面轴的限制锥体的开放角度,以度为单位。
Plane Cone Max Angle(平面锥体最大角度): 该属性设置了围绕正平面轴的限制锥体的开放角度,以度为单位。
Twist Min Angle(扭转最小角度): 该属性设置了绕扭转轴旋转的最小角度,以度为单位。
Twist Max Angle(扭转最大角度): 该属性设置了绕扭转轴旋转的最大角度,以度为单位。
Max Friction Torque(最大摩擦扭矩): 该属性设置了约束所具有的摩擦量。
Angular Limits Tau Factor(角度限制 Tau 因数): 该属性设置了限制角度的 Tau 因数。 默认值为 0.8。 见术语部分对 TAU 的描述。
要查看所有约束共有的其他属性,请检查约束共有属性。
硬弹簧
硬弹簧约束将刚体分开一定距离。 硬弹簧作用于每个刚体中的一个点。 刚体可绕该点自由移动和旋转,但两点相对距离固定不变。
除了位于约束共有属性中的共有属性之外,这一约束不包含任何属性,
约束示例
以下示例简单地演示了如何使用约束系统。
铰链约束类型
使用铰链约束类型的示例
铰链示例
创建 2 个实体,为每个实体添加一个 Havok™ 刚体组件。 底部的实体要设成固定类型,使其不会移动或掉落;顶部实体需为动态。 将顶部实体放在如下图所示的位置,然后创建 2 个锚点图形并将它们分别放置在两个实体中,在世界和图形列表中都要放置在实体中。
然后创建一个约束,将其放置到您希望建立约束的位置。
将约束类型属性设为铰链。 然后使用链接工具,将约束链接到两个实体中的 2 个锚点。 按下运行按钮查看模拟运行状况。
使用铰链的绳索
创建一条使用铰链的链绳的示例。
要创建这一链绳,先创建 6 个水平排列的实体,然后在每个实体中放置一个 Havok™ 刚体组件。 设置 2 端,使其固定在 Havok™ 刚体组件中。 创建 6 个锚点图形,在场景和图形列表中将其分别放置到每个实体的中心。
创建 5 个 Havok™ 约束图形,分别放置在 6 个实体间的空隙中。 将约束类型属性设为铰链。
使用链接工具;选择第一个约束图形,然后链接约束两侧的两个锚点。 重复这一步骤,直到将所有约束与锚点链接,如下图所示:
球窝接头约束类型
球窝接头约束关节示例。
要创建球窝接头关节,先创建 2 个实体,然后在每个实体中放置一个 Havok™ 刚体组件。 在刚体组件中,将底部的实体设为固定类型。 放置一个锚点图形,在场景和图形列表中都要把它放在实体内。
创建一个 Havok™ 约束;将约束类型设为球窝接头。 将其放置到 2 个实体当中,然后使用链接工具链接 2 个锚点图形。
硬弹簧约束类型
硬弹簧约束关节示例。
创建 5 个实体,在每个实体中分别放置一个 Havok™ 刚体组件。 将它们垂直摆放,如下图所示。 将顶部的实体刚体设为固定。
创建 5 个锚点,并在场景和图形列表中都放到图形内部。
创建 4 个约束,将每个约束都设为硬弹簧类型,并将约束放置到实体之间。 使用链接工具,将约束与毗邻的锚点链接起来。 按下运行按钮查看模拟结果。
摆球示例
要创建摆球效果,
先创建一个实体,将实体设为球体,并添加刚体组件。
创建 2 个锚点,一个没有父项,另一个应成为子项并放置在实体中心。 具体设置见图。
创建一个约束并放置到没有父项的锚点下方。
使用链接工具,将约束链接到 2 个锚点。
然后运行示例,观看球体前后摆动。
相关推荐
### Havok无力引擎介绍 Havok物理引擎是全球知名且领先的实时碰撞检测与物理模拟解决方案。该引擎凭借其快速、稳定且强大的物理仿真技术,在游戏行业中确立了金标准地位。自推出以来,Havok已被众多顶级游戏开发商...
Havok在授权文档中称,Intel将全数负担所有游戏开发商购买Havok引擎授权的费用。实际上,由于Havok已经是 Intel的全资子公司,这就相当于Intel将Havok引擎全免费送给了所有游戏开发商。目前需要付费购买Havok物理和...
Havok教程资料提供了Havok物理引擎的详细介绍、开发环境的搭建、Havok基础库的简介等内容。 一、Havok物理引擎简介 Havok引擎,全称为Havok游戏动力开发工具包(Havok Game Dynamics SDK),是一款用于物理系统...
《Havok物理引擎教程——基于...总结,“SimpleBoxes”示例是学习Havok物理引擎和Ogre渲染引擎集成的绝佳起点,通过实践这个示例,开发者可以掌握基础的物理模拟和实时渲染技术,为进一步的3D游戏开发打下坚实基础。
总之,“Havok动画渲染Demo(使用Ogre) 测试程序和源代码”为我们提供了一个学习和实践Havok物理引擎与Ogre渲染引擎结合应用的宝贵机会。掌握这两个工具的结合使用,对于提升3D游戏或实时仿真应用的品质具有重要意义...
将Havok集成到虚幻引擎3中,意味着开发者可以实现更真实的物理效果,如物体碰撞、人物运动和环境互动。 4. **源代码** 拥有源代码意味着开发者可以直接查看和修改引擎的底层工作方式,这对于优化性能、添加新功能...
Havok引擎,全称为Havok游戏动力开发工具包(Havok Game Dynamics SDK),一般称为Havok,是一个用于物理系统方面的游戏引擎,为电子游戏所设计,注重在游戏中对于真实世界的模拟。使用碰撞功能的Havok引擎可以让更...
Havok内容工具包含大量强大的功能...工具程序员:任何人都试图将Havok内容工具集成到内部工具管道中,扩展它们或自动化它们. 每个部分根据使用的Havok产品进一步划分.如果您使用的是多种Havok产品,请查看每种产品的指南.
在本文中,我们将全面介绍游戏引擎的概念、重要性、主要功能以及常用的游戏引擎。 游戏引擎的核心功能通常包括图形渲染、物理模拟、音频处理、脚本系统、资源管理、网络通信等多个方面。这些功能的集成使得开发者...
一个简单的ogre和havok的整合 利用开源图形库OGRE,物理库havok,界面库cegui,以及他们用到的依赖库ois、boost等,在vs2010编译平台上开发出一个易于拓展的三维游戏框架。 应为我的相关库比较多,所以这个项目的...
总的来说,这个项目提供了全面的示例,展示了如何在Ogre环境中有效地利用Havok引擎,包括场景加载、角色控制、网络同步和实时调试。这对于想要学习游戏开发或者物理引擎集成的开发者来说,是一份非常宝贵的资源。...
import havok mesh give me points,
一个简单的ogre和havok的整合 利用开源图形库OGRE,物理库havok,界面库cegui,以及他们用到的依赖库ois、boost等,在vs2010编译平台上开发出一个易于拓展的三维游戏框架。 应为我的相关库比较多,所以这个项目的...
一个简单的ogre和havok的整合 利用开源图形库OGRE,物理库havok,界面库cegui,以及他们用到的依赖库ois、boost等,在vs2010编译平台上开发出一个易于拓展的三维游戏框架。 应为我的相关库比较多,所以这个项目的...
常见的物理引擎有PhysX和Havok。 4. **音频处理**:游戏引擎需要处理音效和音乐播放,包括3D音效定位、音量控制、音频流管理等,通常会集成OpenAL或FMOD等音频库。 5. **脚本系统**:游戏逻辑可以通过脚本语言实现...
实现Ogre地形跟Havok的物理计算,车辆系统跟地形的实时碰撞检测。Havok物理动画通过Ogre渲染,感兴趣的加入110120763群
由于个人上传文件最大50MB,所以分三次上传 TerrainHavok.part1.rar,TerrainHavok.part2.rar,TerrainHavok.part3.rar
2. **物理引擎**:物理引擎如Havok或Bullet,用于模拟游戏中的真实世界物理行为,如重力、碰撞检测、刚体动力学等,为玩家提供更真实的交互体验。 3. **音频引擎**:音频引擎管理游戏的音效和音乐播放,支持3D音效...
一个面向对象的物理引擎,它抽象了 PhysX(也许最终是 Havok)API 汇编: 此项目需要访问 Nvidia PhysX SDK 版本 3.3.0 要编译,请在 VS2013 中打开项目并编辑 Include 和 Lib 文件夹以包含 PhysX SDK Include 和...
物理引擎是一种特殊的软件程序,它可以模拟现实世界中的物理规律,比如重力、摩擦力、碰撞反应等,从而给予游戏更自然和逼真的动态效果。在cocos2d-x这一游戏开发框架中,引入物理引擎是提升游戏体验的有效手段。 ...