Joint3D
2026/4/14大约 2 分钟
最后同步日期:2026-04-15 | Godot 官方原文 — Joint3D
Joint3D
节点继承关系
继承自 Node3D
| 类型 | 名称 | 说明 |
|---|---|---|
| 属性 | Position | 本地位置(X / Y / Z) |
| 属性 | GlobalPosition | 全局位置 |
| 属性 | Rotation | 旋转角度(欧拉角,弧度) |
| 属性 | Scale | 缩放比例 |
| 属性 | TopLevel | 是否脱离父节点的变换 |
| 方法 | LookAt() | 朝向目标点 |
| 方法 | ToGlobal() | 本地坐标转全局坐标 |
| 方法 | ToLocal() | 全局坐标转本地坐标 |
| 方法 | RotateX/Y/Z() | 绕指定轴旋转 |
继承自 Node
| 类型 | 名称 | 说明 |
|---|---|---|
| 属性 | Name | 节点名称 |
| 属性 | ProcessMode | 处理模式(始终 / 暂停时 / 仅编辑器) |
| 属性 | ProcessPriority | 处理优先级,数字越小越先执行 |
| 信号 | ready | 节点进入场景树并准备就绪 |
| 信号 | tree_entered | 节点进入场景树 |
| 信号 | tree_exited | 节点完全离开场景树 |
| 方法 | GetNode<T>() | 按路径获取子节点 |
| 方法 | AddChild() | 添加子节点 |
| 方法 | RemoveChild() | 移除子节点 |
| 方法 | QueueFree() | 帧结束后释放节点 |
| 方法 | GetParent() | 获取父节点 |
定义
所有 3D 物理关节的"老祖宗"——一个抽象基类。关节(Joint)用来把两个 3D 物理体连接在一起,让它们像铰链、弹簧或钉子一样互相约束。
打个比方:Joint3D 就像是"连接东西的工具"的总称。想象你用铰链把两扇门连接到门框上,或者用弹簧把两个东西连在一起——这些"连接"在 Godot 里就叫做 Joint(关节)。
使用频率:★ 基本用不到——不直接使用。你需要选择它的某个子类来创建具体的关节。
节点用途
- 不直接使用,作为所有 3D 物理关节的基类
- 理解关节系统的基础
派生节点一览
| 派生节点 | 说明 | 链接 |
|---|---|---|
| PinJoint3D | 钉子关节——固定一个点 | ★★ |
| HingeJoint3D | 铰链关节——沿轴旋转 | ★★★ |
| SliderJoint3D | 滑动关节——沿轴滑动 | ★★ |
| ConeTwistJoint3D | 锥形扭转关节——锥形范围内旋转 | ★ |
| Generic6DOFJoint3D | 六自由度关节——完全自定义 | ★★★ |
如何选择子类?
我需要连接两个 3D 物理体
├── 固定在某个点上(像钉子) → PinJoint3D
├── 沿一个轴旋转(像门铰链) → HingeJoint3D
├── 沿一个轴滑动(像抽屉导轨) → SliderJoint3D
├── 在锥形范围内自由旋转(像布娃娃)→ ConeTwistJoint3D
└── 完全自定义所有轴向的运动 → Generic6DOFJoint3D