Unity 工具 / Physics
Gatling
数以千计的实时投射物,即时命中与飞行弹道兼备。
- 版本
- 1.0.4
- 发布日期
- 2026年8月

1 / 9
适用于 2D 和 3D 的投射物与弹道系统。
武器、投射物、命中规则和表面材质都以 ScriptableObject 形式配置,运行在统一的固定步长、防隧穿模拟之上。Gatling 会报告每次命中及其物理上下文,但从不直接结算伤害,因此可以接入任何战斗系统。
射击游戏、动作游戏和物理沙盒都需要同一套底层:生成和模拟投射物并用对象池回收,判定命中,播放枪口、命中和爆炸特效。Gatling 把这一整套做成了现成的内容。配置好资源,在场景中放一个 rig,就能通过组件、三行代码或自己的网络同步代码开火。
所有逻辑都运行在一个中央固定步长模拟上,并采用扫掠碰撞检测,不会因为某一帧耗时过长而让子弹穿墙。每次命中都是一个事件,携带速度、能量、角度、表面和伤害倍率;命中意味着什么,由游戏自己决定。
本包不依赖任何网络库。服务器权威的多人联机由独立的 Gatling for FishNet 扩展提供,它驱动的是同一套资源。
包含内容
弹道归零
只需设定命中距离,无需调角度。提供四种归零模式,外加适用于迫击炮和投石机的高抛弹道求解器,解算结果会被缓存。
即时命中与飞行时间
同一把武器可在近距离即时判定命中,远距离则转为弹道模拟;曳光弹画出的正是子弹实际飞过的弧线。
可组合的命中规则
Stop、Stick、Bounce、Ricochet、Explode 和 Penetrate(停止、嵌入、弹开、跳弹、爆炸、穿透),可自由排序,并按表面层级、速度、能量和掠射角设置触发条件。
读得懂墙体的穿透
按材质设置入射阈值、速度损失、最大厚度和出射下限,并依据碰撞体本身的形状测量。
风力
支持预设、场景组件、Unity WindZone 或体积。结果可复现,安装 Burst 后还会进行 Burst 编译。
2D 与 3D
一个 SimulationSpace 开关即可切换重力与碰撞后端,所有功能在两种模式下都可用。
为大规模而生
在附带的压力测试场景中,可同时模拟约 10,800 枚投射物并保持 60 fps,全流程对象池化,稳定运行时零内存分配。
支持无头模式
关闭音频、画面和特效后,专用服务器就能打出完全相同的射击并完成命中判定,无需实例化任何视觉对象。
技术细节
- Unity 版本
- 6000.0.41f1(Unity 6.0 LTS)及更高版本
- 渲染管线
- 运行时与渲染管线无关;示例美术资源可转换为 URP 和 HDRP
- 脚本后端
- Mono / IL2CPP
- 平台
- Unity 支持的所有平台
- 依赖
- AnkleBreaker Core 与 Utils Inspector(免费);可选 Managers Loader、Burst、VFX Graph
- 模拟频率
- 10 至 240 Hz
- 示例
- 13 个示例场景、1 个 Test Range 靶场、5 套玩家 rig
- 测试
- 166 个测试文件
- 源码
- 完整 C# 源码,无 DLL
- 文件数
- 1,287
想用在您的游戏里?
打造 Gatling 的团队可以帮您集成、扩展它,或开发您的项目接下来需要的功能。



