Version: 6000.3
语言: 中文
车轮碰撞器
车轮碰撞器摩擦

车轮碰撞器简介

要在 Unity 中模拟准确的 Wheel 行为,请使用 Wheel碰撞体一种不可见的形状,用于处理对象的物理碰撞。碰撞体不需要与对象的网格体完全相同的形状 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表
对于每个轮子。车轮碰撞机用于停飞车辆的特殊对撞机。它具有内置的碰撞检测、车轮物理和基于打滑的轮胎摩擦模型。它可用于车轮以外的物体,但它是专门为带轮子的车辆设计的。更多信息
请参阅术语表
管理车轮旋转和车辆运动,并具有模拟悬架系统的属性。

Wheel 碰撞器组件在 API 中表示为WheelCollider类。

车轮碰撞器光线投射

Wheel碰撞器出现在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
视图为二维圆(请参阅车轮碰撞体可视化)。但是,它实际上是单个物理光线投射。PhysX 沿悬浮方向通过车轮中心将光线沿局部 Y 轴投射。光线投射的开始和结束位于以下点:

  • 光线投射在最大悬架下从车轮顶部上方开始压缩一种存储数据的方法,可减少所需的存储空间量。请参阅纹理压缩动画压缩音频压缩构建压缩
    请参阅术语表
    (即,就在“半径”(Radius)之外,位于 Y 轴上“悬挂距离”(Suspension Distance) 的顶部)。
  • 光线投射在最大悬架延伸时(即,就在半径之外,在Y轴上悬架距离的底部)的车轮底部结束。

这种光线投射配置意味着车轮碰撞器在移动时实际上不会在其他表面(例如地面)上滚动。在 播放(Play) 模式下,车轮碰撞器的旋转不会改变。但是,车轮模型的旋转确实需要改变,以便车轮看起来沿着地面滚动。为此,模型和碰撞器需要位于两个独立的游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
.车轮碰撞器的变换应相对于载具固定,并且模型应该能够旋转。然后,您可以配置 Wheel 碰撞器以将其全局位置发送到车轮模型,并通过脚本旋转车轮模型。有关此工作流程的示例,请参阅演练创建具有车轮碰撞器的示例载具

有关 PhysX 中车轮碰撞器光线投射设置的更多详细信息,请参阅 PhysX 4.1 Vehicles SDK 文档

为光线投射车轮碰撞器准备地面

光线投射设置的一个重要含义是,车轮并不总是平滑地向上滚动或下降道路水平的变化(例如,从道路滚动到台阶上)。当遇到台阶或路缘石时,车轮可能会被夹住,然后仅在中心线穿过台阶时“弹出”:

轮式对撞机飞行器的两个框架在台阶上行驶(地面急剧增加)。在第一帧中,滚轮似乎穿过台阶。这是因为车轮模型中心的光线投射尚未到达台阶。在第二帧中,车轮模型正确显示在台阶上。当车轮中心的光线投射检测到高度变化时,就会发生这种变化,导致车轮看起来“弹出”台阶,而不是真实地滚动。
轮式对撞机飞行器的两个框架在台阶上行驶(地面急剧增加)。在第一帧中,滚轮似乎穿过台阶。这是因为车轮模型中心的光线投射尚未到达台阶。在第二帧中,车轮模型正确显示在台阶上。当车轮中心的光线投射检测到高度变化时,就会发生这种变化,导致车轮看起来“弹出”台阶,而不是真实地滚动。

当中心点到达光线投射时,光线投射也会滑落成道路上的小水滴或台阶:

轮式对撞机飞行器的两个框架在下降中航行(地面急剧下降)。在第一帧中,车轮似乎正确地位于落差上方。这是因为车轮模型中心的光线投射尚未达到落差。在第二帧中,车轮模型似乎已经掉进了水滴中。当车轮中心的光线投射检测到高度变化时,就会发生这种变化,导致车轮看起来突然下降,而不是真实地滚动。
轮式对撞机飞行器的两个框架在下降中航行(地面急剧下降)。在第一帧中,车轮似乎正确地位于落差上方。这是因为车轮模型中心的光线投射尚未达到落差。在第二帧中,车轮模型似乎已经掉进了水滴中。当车轮中心的光线投射检测到高度变化时,就会发生这种变化,导致车轮看起来突然下降,而不是真实地滚动。

为此,地面碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表
几何体必须尽可能平滑,以确保模拟平滑准确。如果地面有颠簸或凹陷,则必须对其进行测试和迭代,以确保您对车轮的行为感到满意。

车轮碰撞器可视化

选择 Wheel 碰撞器时,将场景视图:您正在创建的世界的交互式视图。您可以使用场景视图来选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。更多信息
请参阅术语表
显示一个小工具与场景中的游戏对象关联的图形叠加层,并显示在场景视图中。移动工具等内置场景工具是 Gizmo,您可以使用纹理或脚本创建自定义 Gizmo。某些 Gizmo 仅在选择游戏对象时绘制,而其他 Gizmo 则由编辑器绘制,而不管选择了哪个游戏对象。更多信息
请参阅术语表
它提供了一些关键的 Wheel 碰撞器属性的可视化。

场景视图中的单个 Wheel 碰撞器小工具。在此屏幕截图中,禁用了所有网格体,以便清楚地显示小工具。
场景视图中的单个 Wheel 碰撞器小工具。在此屏幕截图中,禁用了所有网格体,以便清楚地显示小工具。

小工具的视觉指示器如下:

  • 大 2D 圆:表示物理轮的大小。要更改大小,请使用 Wheel 碰撞器的 Radius 属性。
  • 水平绿线:表示 Wheel 碰撞器沿 X 轴的中点。这条线的角度代表车轮的旋转。
  • 小 3D 球体:表示施加车轮力的点。要更改此值,请使用 Wheel 碰撞器的 强制应用点距离(Force App Point Distance) 属性。
  • 橙色垂直线:线的顶点和底点表示车轮由于施加到其中心点而可以上下移动(沿垂直 Y 轴)的最大距离。要更改此值,请使用 车轮碰撞器(Wheel collider) 的 悬挂距离(Suspension Distance) 属性。橙线与绿线相交的点表示当没有力或相等的力作用在车轮上时车轮所在的“静止”点。要更改此值,请使用Wheel碰撞器的目标位置(Target Position)一个关节属性,用于设置关节的驱动力应将其移动到的目标位置。更多信息
    请参阅术语表
    财产。

你可以使用小工具可视化进行快速参考和调试。

车轮碰撞器
车轮碰撞器摩擦