`
plmkome
  • 浏览: 44208 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Havok物理引擎-刚体介绍

 
阅读更多
引言
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游戏动力开发工具包(Havok Game Dynamics SDK),是一款用于物理系统...

    Havok教程示例代码_SimpleBoxes

    《Havok物理引擎教程——基于Ogre的SimpleBoxes示例》 Havok物理引擎是一款业界领先的实时3D物理模拟技术,广泛应用于游戏开发、电影特效等领域。本教程聚焦于“SimpleBoxes”示例,它展示了如何在Havok环境中创建...

    Havok动画渲染Demo(使用Ogre) 测试程序和源代码

    1. Havok物理引擎:Havok是游戏开发中广泛使用的物理引擎,它提供了一整套解决方案,包括刚体动力学、碰撞检测、布料模拟等。在本Demo中,Havok主要负责处理角色和环境的物理交互,确保动作的自然和真实。 2. Ogre ...

    UnrealEngine3.tar.gz_Havok_UNREALENGINE_UnrealEngine.i_编辑器_虚幻3引擎

    这个"UnrealEngine3.tar.gz_Havok_UNREALENGINE_UnrealEngine.i_编辑器_虚幻3引擎"压缩包,正如其名,包含了虚幻引擎3的核心源代码,特别是与编辑器相关的部分,以及可能整合了Havok物理引擎的组件。 1. **虚幻引擎...

    物理引擎:更真实的cocos2d世界

    对于3D游戏,常见的物理引擎包括Havok、PhysX、Bullet、ODE等;而对于2D游戏,则有Box2D、Chipmunk等选项。开源物理引擎如Box2D允许开发者无需支付费用即可使用,而商业引擎则需要相应的授权。不同的物理引擎有不同...

    基于Ogre的Havok演示代码

    【基于Ogre的Havok演示代码】是一个项目,展示了如何在Ogre 3D渲染引擎中集成Havok物理引擎进行游戏开发或模拟。这个项目涵盖了多个关键的知识点,包括场景管理、物理交互、网络同步以及调试工具的使用。 首先,让...

    HowDoPhysicsEnginesWork.pdf

    Box2D是一个较为简单的2D刚体物理引擎,自2006年创建,曾在游戏开发者大会(GDC)上被介绍。Box2D Lite是Box2D的一个简化版本,也专注于刚体物理模拟。在Box2D中,World结构体是物理世界的基础,它包含着物体...

    游戏开发物理学

    常见的物理引擎有Unity的内置物理引擎,还有像PhysX、Havok这样的第三方物理引擎。物理引擎通常包含刚体动力学、软体模拟、碰撞检测和解决、流体动力学等多个模块,确保游戏世界中的物体行为符合物理规则。 三、...

    软件工程中的物理模拟与仿真.pptx

    - **Havok Physics**:由Intel收购的物理引擎,被用于多款著名游戏中,支持多种高级物理效果。 #### 第4章 数值模拟与仿真 数值模拟与仿真是在数学模型的基础上,通过数值计算来求解问题的过程。这一过程通常涉及...

    遊戲開發物理學

    为了简化物理系统的开发和维护,游戏开发者通常会使用物理引擎,如PhysX、Havok等。物理引擎提供了一系列预先实现的物理模型和算法,可以大大降低游戏开发的复杂度。通过物理引擎,开发者可以轻松地实现重力、碰撞、...

    游戏开发物理学.pdf

    在实际开发中,游戏开发者会利用各种物理引擎和开发工具来实现上述物理效果,常见的物理引擎有PhysX、Havok、Unreal Engine自带的物理系统等。这些工具通常会提供丰富的API和接口,开发者可以通过编程调用这些接口来...

    游戏开发物理学(中文版).rar

    6. **物理引擎**:为了简化物理模拟的复杂性,游戏开发者通常会使用物理引擎,如Unity的内置PhysX引擎、Havok或Bullet等。这些引擎提供了预设的物理规则和优化的计算方法,帮助开发者快速实现复杂的物理效果。 7. *...

    游戏开发物理学(中文版)

    9. **物理引擎**:为了简化开发,许多游戏使用现成的物理引擎,如Unity的PhysX、Unreal Engine的Chaos或Havok等。这些引擎提供了预设的物理行为和API,方便开发者集成和自定义。 10. **优化与性能**:实时物理模拟...

    CryEngine3源代码 CryEngine3.1.2 Source Full Code

    1. 物理模拟:CryEngine3采用Havok物理引擎,支持刚体和软体物体的碰撞检测及动力学模拟,实现真实世界中的物理行为。 2. AI系统:CryEngine3的AI设计灵活,支持行为树和导航网格,让非玩家角色(NPC)能够根据环境...

    游戏编程中的物理建模(中文删节版)

    常见的物理引擎有Havok、Bullet、Box2D等,它们提供了各种物理模拟功能,如刚体动力学、软体动力学和流体动力学。 2. **刚体动力学**:在游戏编程中,刚体用于模拟硬质物体,如角色、车辆或建筑物。它们遵循牛顿的...

    游戏引擎架构中英文完整版

    3. **物理模拟**:物理引擎让游戏中的物体运动显得真实,如碰撞检测、刚体动力学、软体模拟等。常见的物理引擎有PhysX和Havok。 4. **音频处理**:游戏引擎需要处理音效和音乐播放,包括3D音效定位、音量控制、音频...

    《游戏开发物理学(中文版)》高清书签

    7. **物理引擎**:现代游戏通常使用物理引擎来处理所有物理计算,如Havok、PhysX和Bullet等。这些引擎提供了一套完整的物理模拟解决方案,简化了开发者的编程工作。 8. **软体动力学**:对于布料、头发、绳索等可...

    网络游戏-一种应用于游戏的3D引擎系统.zip

    3D引擎通常包含物理引擎模块,如Havok、Bullet或PhysX,它们负责处理物体碰撞、运动和重力等物理现象,使游戏中的物体行为更加自然。物理引擎还能支持复杂的效果,如布料模拟、流体动力学和刚体动力学,增强游戏的...

    重力 碰撞 物理仿真行为.zip

    在游戏开发中,物理引擎如Unity的内置物理引擎或者Havok、PhysX等,为开发者提供了方便的API来实现这些功能。开发者可以通过调整参数来控制物理效果的逼真度,以达到游戏设计的需求。例如,增加碰撞后的抖动效果,...

    游戏开发物理学源代码1

    源码可能包括了汽车模型的定义、碰撞检测函数、物理引擎接口的封装,以及碰撞后的反馈处理。比如,可能会有一个类表示汽车对象,包含位置、速度、旋转等属性;另一个类或一系列函数负责碰撞检测,可能包含了碰撞检测...

Global site tag (gtag.js) - Google Analytics