跳到主要内容

铰链关节节点

描述

铰链关节(hingejoint)通常使用物体 A 的 Z 轴作为铰链轴,但手动添加时可以指定另一个轴。

准备场景

在开始使用铰链关节节点前,让我们来先做一些准备。

创建一个新场景,将场景中根节点下除了飞行相机之外的节点删除,然后添加两个网格实例节点,并将网格指定为cubemesh。然后转化为一个刚体和一个静态刚体,完成后节点构造如下:

hinge_create_scene

然后我们调整一下两个节点的位置,以方便更直观的体现出铰链的作用。大致位置如图:

hinge_change_position

运行场景,你能看到刚体下落,静态刚体禁止不动。这样我们这个场景就准备完毕了。

设置铰链关节

接下来让我们创建一个铰链关节节点,并将其放在图中所示的位置,作为铰链。

add_hingejoint_node

之后,我们将铰链关节中的关节->节点中的节点A设置为静态刚体,节点B设置为刚体,这就相当于在这两个物理节点之间添加了一个铰链。

set_hingejoint_AB

运行场景后,你会发现铰链关节已经发挥了作用。

runing_hingejoint_scene

接下来让我们讲一讲铰链关节中的属性调整,我们找到铰链关节->角度限制,勾选启用,然后运行。

enable_angle_limit

可以看到,在刚体旋转90°的时候就停止了,这就是角度限制的作用。

之后让我们将角度限制中的上限调整为180,再将动力启用:

enable_motor

运行场景,我们就实现了一个一直旋转的效果。

hingejoint_rotate

你可能注意到了,刚体在旋转时和静态刚体有穿模现象,这是由于铰链关节节点默认勾选了碰撞->不包含节点,这样IdeaXR就会不计算这两个节点的碰撞。

enable_nodes