Godot Jolt 项目技术文档

Godot Jolt 项目技术文档

godot-jolt Godot Jolt is a Godot extension that integrates the Jolt physics engine godot-jolt 项目地址: https://gitcode.com/gh_mirrors/go/godot-jolt

安装指南

1. 下载项目

你可以从以下两个途径下载 Godot Jolt 项目:

  • GitHub 发布页面
  • Godot 资产库

2. 解压文件

将下载的文件解压到你的 Godot 项目目录中。

3. 启动或重启 Godot

启动或重启 Godot 编辑器。

4. 打开项目设置

在 Godot 编辑器中打开你的项目设置。

5. 启用高级设置

确保“高级设置”已启用。

6. 更改物理引擎

  • 进入“Physics”选项卡。
  • 选择“3D”子选项卡。
  • 将“Physics Engine”更改为“JoltPhysics3D”。

7. 重启 Godot

完成设置后,重启 Godot 编辑器。

项目的使用说明

1. 功能概述

Godot Jolt 是一个 Godot 游戏引擎的原生扩展,允许你使用 Jolt 物理引擎来驱动 Godot 的 3D 物理。它作为 Godot Physics 的直接替代品,实现了相同的节点,如 RigidBody3DCharacterBody3D

2. 主要特性

  • 更好的性能:相比 Godot Physics,Godot Jolt 提供了更好的性能和更稳定的模拟。
  • 可选的替代节点:提供了所有关节的替代节点,这些节点与 Jolt 的接口更匹配,支持可破坏的关节、软限制以及每个关节的求解器迭代覆盖。

3. 不支持的功能

  • 物理服务器目前不是线程安全的。
  • 内存使用情况不会反映在 Godot 的性能监视器中。
  • SoftBody3D 不支持与 Area3D 的任何交互。

4. 其他差异

  • 比例实际上用于所有物体、形状和形状查询,除了 SoftBody3D
  • Area3D 检测静态物体是可选的,但可能会带来性能和内存成本。
  • 关节仅通过替代节点(如 JoltHingeJoint3D)支持软限制。
  • 弹簧和线性电机实际上在 Generic6DOFJoint3D 中实现。
  • 单体关节将使 node_a 成为“世界节点”而不是 node_b
  • 使用 hit_back_faces 的射线投射将击中所有形状的背面/内部,而不仅仅是凹面形状。
  • 射线投射返回 face_index 是可选的,可能会带来内存成本。
  • 射线投射不受 ConcavePolygonShape3Dbackface_collision 属性的影响。
  • 形状投射应更准确,但其成本也随投射距离而增加。
  • 形状边距被使用,但被视为上限并与形状的范围成比例。
  • 在物体进入场景树后操作其形状可能会很昂贵。
  • 接触脉冲是估计值,当与多个物体碰撞时不会准确。
  • 运动学物体的接触报告部分是可选的,可能会带来性能和内存成本。

项目API使用文档

1. 项目设置

有关 Godot Jolt 中可用的项目设置的详细信息,请参阅 docs/settings.md

2. 构建源码

有关如何从源码构建 Godot Jolt 的信息,请参阅 docs/building.md

项目安装方式

1. 支持的平台

  • Windows (x86-64, x86)
  • Linux (x86-64, x86)
  • macOS (x86-64 + Apple Silicon)
  • iOS
  • Android (ARM64, ARM32, x86-64, x86)

注意:Linux 支持仅限于 glibc 2.31 或更新版本,这意味着 Ubuntu 20.04 (Focal Fossa) 或更新版本。

2. 支持的 Godot 版本

目前唯一支持的版本是 Godot 4.3(包括 4.3.x)。

3. 许可证

Godot Jolt 根据 MIT 许可证分发。有关详细信息,请参阅 LICENSE.txtTHIRDPARTY.txt

godot-jolt Godot Jolt is a Godot extension that integrates the Jolt physics engine godot-jolt 项目地址: https://gitcode.com/gh_mirrors/go/godot-jolt