关节体允许您构建物理关节,例如机器人手臂或具有游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的特性由附加到它的组件定义。更多信息
参见术语表且按层次结构组织的运动链。它们有助于您在工业应用的模拟环境中获得真实的物理行为。
关节体允许您在一个组件中定义属性,这些属性在经典配置中通常通过刚体一个组件,允许游戏对象受到模拟重力和其它力的影响。更多信息
参见术语表和常规关节来定义。也就是说,这些属性取决于游戏对象在层次结构中的位置。
关节体的属性分为以下主要类别。
定义关节体对物理环境的响应方式。
属性 | 功能 |
---|---|
质量 | 关节体的质量(默认以千克为单位)。 |
不可移动 | 使用此属性定义此关节体是否可移动。您只能为根关节体设置此属性。例如,此属性可用于使机器人手的基体不可移动。物理引擎一个模拟物理系统各个方面的系统,以便对象可以正确加速并受到碰撞、重力和其它力的影响。更多信息 参见术语表将其与所有其他约束分开求解,并保证不会违反约束。 |
使用重力 | 使用此属性使重力影响或不影响此关节体。 |
定义关节锚点的坐标,用于关节体及其父关节体。
属性 | 功能 |
---|---|
计算父锚点 | 启用此属性以使父级相关的锚点与当前关节体的锚点匹配。如果禁用此属性,则可以分别设置父锚点位置和父锚点旋转的值。 |
锚点位置 | 锚点相对于当前关节体的坐标位置。 |
锚点旋转 | 锚点相对于当前关节体的坐标旋转。 |
父锚点位置 | 父锚点相对于父关节体的坐标位置。仅当禁用计算父锚点时,才会显示此属性。 |
父锚点旋转 | 父锚点相对于父关节体的坐标旋转。仅当禁用计算父锚点时,才会显示此属性。 |
将锚点捕捉到最近的接触点 | 计算此关节体表面上最靠近父关节体质心代表刚体中所有质量的平均位置,用于物理计算。默认情况下,它根据属于刚体的所有碰撞体计算得出,但可以通过脚本修改。更多信息 参见术语表的点,并将锚点设置为该点。如果启用了计算父锚点,Unity 也会相应地更新父锚点。 |
选择将当前关节体链接到其父关节体的关节类型,并定义其通用和特定属性。
属性 | 功能 | |
---|---|---|
关节类型 | 连接此关节体与其父关节体的关节类型。注意:所有类型的关节共有的属性都由该表描述,其中一些关节具有特定的附加属性。 | |
固定 | 在物体之间设置刚性、不可破坏和不可伸缩的链接。固定关节除了该表中描述的属性外,没有其他附加属性。 | |
棱柱 | 除了沿特定轴滑动之外,阻止所有运动。另请参见棱柱关节附加属性。 | |
旋转 | 允许围绕特定轴(如铰链)旋转。另请参见旋转关节附加属性。 | |
球形 | 解剖关节,允许两个摆动和一个扭曲。另请参见球形关节附加属性。 | |
线性阻尼 | 控制线性减速的系数。 | |
角阻尼 | 控制旋转减速的系数。 | |
关节摩擦 | 控制关节中摩擦引起的能量损失的系数。 |
属性 | 功能 | |
---|---|---|
轴 | 指定棱柱关节允许沿其运动的轴,相对于父锚点。 | |
运动 | 指定沿该轴的运动限制类型。 | |
自由 | 允许关节体沿父锚点的选定轴自由移动。 | |
受限 | 根据您在驱动属性中指定的下限和上限,限制关节体沿父锚点的选定轴的运动。 | |
X 驱动、Y 驱动或Z 驱动 | 根据父锚点的选定轴附加到关节的线性驱动的属性。注意:此处只有一个驱动部分。其标题会根据轴选择自动调整。 |
属性 | 功能 | |
---|---|---|
运动 | 指定父锚点 X 轴周围的旋转限制类型。 | |
自由 | 允许关节体围绕父锚点的 X 轴自由旋转。 | |
受限 | 根据您在X 驱动属性中指定的下限和上限,限制关节体围绕父锚点的 X 轴的旋转。 | |
X 驱动 | 附加到关节的旋转驱动的属性,围绕父锚点的 X 轴。 |
属性 | 功能 | |
---|---|---|
摆动 Y | 指定围绕 Y 轴的旋转限制类型。 | |
自由 | 允许关节体围绕父锚点的 Y 轴自由旋转。 | |
受限 | 根据您在Y 驱动属性中指定的下限和上限,限制关节体围绕父锚点的 Y 轴的旋转。 | |
锁定 | 完全锁定关节体围绕父锚点的 Y 轴的旋转。注意:您不能同时锁定两个以上的自由度。 | |
摆动 Z | 指定围绕 Z 轴的旋转限制类型。所有 3 个轴的选项相同。 | |
扭曲 | 指定围绕 X 轴的旋转限制类型。所有 3 个轴的选项相同。 | |
Y 驱动、Z 驱动和X 驱动 | 附加到关节的旋转驱动的属性,分别围绕父锚点的 Y、Z 和 X 轴。注意:每个驱动都有一个单独的子部分。如果锁定一个轴,则检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。更多信息 参见术语表不会显示其驱动属性。 |
属性 | 功能 |
---|---|
下限 | 关节阻止物体移动或旋转(取决于关节类型)的下限。仅当您将相关的运动、摆动或扭曲属性设置为受限时,才能定义此属性。 |
上限 | 关节阻止物体移动或旋转(取决于关节类型)的上限。仅当您将相关的运动、摆动或扭曲属性设置为受限时,才能定义此属性。 |
刚度 | 将关节吸引到目标的弹簧的刚度。 |
阻尼 | 将关节吸引到目标的弹簧的阻尼。 |
力限制 | 此驱动可以产生的最大力和扭矩量。 |
目标 | 此驱动力求达到的目标值。 |
目标速度一个关节属性,用于设置关节在驱动力的作用下应以其移动到目标位置的所需速度。更多信息 参见术语表 |
此驱动力求达到的目标速度。 |
任何驱动都是一个隐式的 1D 弹簧,旨在通过此公式计算出的效果(力或扭矩)来将当前驱动参数带到目标。
效果 = 刚度 * (目标位置 - 驱动位置) + 阻尼 * (目标速度 - 驱动速度)
附加到线性自由度的驱动会产生力。附加到旋转自由度的驱动会产生扭矩。您可以通过关节驱动属性设置此公式的每个参数,以微调任何涉及关节轴的所需效果。
请注意,效果公式由两个您可以平衡甚至抵消的独立项组成。例如
如果将刚度设置为零,则得到一个仅旨在达到特定速度的驱动。
如果将阻尼设置为零,则得到一个旨在达到特定位置而不尝试达到任何特定速度的驱动。在这种情况下,一旦达到目标,驱动就不会尝试最终停止。
每个关节有两个锚点。
锚点,相对于当前关节体。
父锚点,相对于父关节体。
默认情况下,Unity 会自动计算父锚点以匹配锚点的姿势。但是,您可以禁用计算父锚点属性以手动设置父锚点。
目前,Unity 编辑器使用缩放变换工具显示锚点,以将其与游戏对象变换工具区分开来。
要更改锚点的位置,您可以使用检查器并编辑关节锚点属性,或者直接在场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上讲是分段设计和构建您的游戏。更多信息
参见术语表视图中移动和旋转它们的变换工具。
注意:当您创建新的关节体时,Unity 会将其锚点放置在其各自主体局部零点处。但是,如果连接的主体具有附加的碰撞体用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格完全相同形状 - 粗略的近似值通常更有效,并且在游戏玩法中无法区分。更多信息
参见术语表,则局部零点不是锚点的理想默认位置,因为关节可能会尝试将主体推向彼此。将锚点捕捉到最近的接触点按钮可帮助您设置锚点更合理的默认位置,这适用于许多关节。
注意:目前,场景视图您正在创建的世界中的交互式视图。您可以使用场景视图选择和放置场景、角色、摄像机、灯光以及所有其他类型的游戏对象。更多信息
参见术语表允许您可视化关节限制,但不能以图形方式操作它们。
固定关节一种完全受约束的关节类型,允许将两个物体固定在一起。实现为弹簧,因此可能仍然会发生一些运动。更多信息
参见术语表没有自由度,因此场景视图不显示任何特定标记。
棱柱关节实际上是相对于父锚点沿指定轴线的滑块。此轴只能是基轴(X、Y 或 Z),但您仍然可以旋转父锚点以在世界空间中获得不同的轴向。
您可以设置棱柱关节以具有自由或受限的平移。为此,请使用检查器并编辑棱柱关节特定属性。
注意:您不能锁定棱柱关节,否则这将消除其唯一的自由度,并使其成为退化的关节。
当您将棱柱关节的运动设置为受限时,场景视图将显示标记以表示平移限制。
红色小标记表示下限。
绿色小标记表示上限。
虚线白色线表示限制之间的允许平移。
要操作关节限制,您必须使用检查器并在关节驱动属性中编辑其值。
受限棱柱关节示例。
注意:当您将棱柱关节的运动设置为自由时,场景视图不显示任何特定标记。
旋转关节本质上是一个铰链,围绕父锚点的 X 轴具有单个旋转自由度。您仍然可以旋转父锚点以在世界空间中获得不同的轴向。
您可以设置旋转关节以具有自由或受限的旋转。为此,请使用检查器并编辑旋转关节特定属性。
注意:您不能锁定旋转关节,否则这将消除其唯一的自由度,并使其成为退化的关节。
当您将旋转关节的运动设置为自由时,场景视图将显示一个红色圆盘以表示围绕 X 轴允许的自由旋转。
自由旋转关节示例。
当您将旋转关节的运动设置为受限时,场景视图将显示标记以表示旋转限制。
红色小标记表示下限。
绿色小标记表示上限。
红色圆形扇形表示限制之间的允许旋转角度。
父锚点的 Z 轴用作两个极限角的参考(零)。
要操作关节限制,您必须使用检查器并在关节驱动属性中编辑其值。
受限旋转关节示例。
球形关节是一种解剖关节,最适合模拟类人动物的四肢。
此关节类型最多可以具有三个旋转自由度。您可以将这些旋转中的每一个设置为自由、受限或锁定。为此,请使用检查器并编辑旋转关节特定属性。
注意:对于球形关节,您不能同时锁定所有旋转,否则这将消除其所有自由度,并使其成为退化的关节。此外,您不应锁定两个摆动轴以模拟旋转关节,因为模拟将与旋转关节不同,并且成本更高。
与旋转关节类似
场景视图使用彩色圆盘显示自由旋转,使用彩色圆形扇形显示受限旋转。每种颜色(红色、绿色、蓝色)分别表示围绕此颜色的轴的旋转(分别为:X、Y、Z)。
红色和绿色的小标记分别表示下限和上限。
自由球形关节示例。
具有受限摆动的球形关节示例。
关节体
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.