为了帮助创建竞争性战斗体验,几种已批准的武器可用于任何体验。核心系统具有使用肩部镜头像头的弹道武器功能,设置弹道速度足够高可以模拟射线武器,例如激光枪。

要在体验中使用已批准的武器:
- 从下面选择一个武器,导航到资产库关联接。
在武器的物品页面上,单击绿色 获取 按钮,并确认交易。
在工作室中,打开工具箱( 视图 → 工具箱 )。
选择您的工具箱 库存 部分。
找到武器并单击以将其添加到地场景。当提示是否将工具放入新手包时,如果您希望玩家带着武器开始,请单击 是 ;如果您希望将武器放置在 3D 世界中作为拾取,请单击 否 。
如果这是第一次导入已批准的武器,将其 武器系统 文件夹移至 服务器脚本服务 以服务体验中所有已批准武器的统一 系统文件夹。
系统文件夹结构
武器系统 文件夹 是一个统一的文件夹,包含资产、配置和脚本,可以为体验中所有获批的武器提供动力。如果位于 ServerScriptService 中,它将覆盖任何相等的 武器系统 文件夹,可能存在于单个武器中。

武器系统文件夹包含以下实例:
- 武器类型 ( Folder ) – 指定所有武器类型
- 服务器武器脚本 ( Script )
- 版本 (IntValue
- 客户端武器脚本 ( LocalScript )
- 网络调用 ( ModuleScript )
- 武器数据 ()
- 武器系统 (ModuleScript
在 武器系统 文件夹内,不同方面由以下 ModuleScripts 控制:
方面 | 主要在以下范围内处理... |
---|---|
武器功能 |
|
肩部相镜头 |
|
武器图形界面 |
|
武器结构
已批准的武器是 Tools ,并以其在玩家背包中出现的名称命名。每种武器都由相似的层次结构。
武器类输入
武器类型 对应 武器系统 / 武器类型 文件夹中的武器。两个基础值是 子弹武器 和 弓武器 。
武器模型
每种武器包含一个或多个 组成物,用于形成物理武器。其中一个应该设置为模型的 PrimaryPart。

模型还包括以下重要的后裔,可以作为模型的父辈之一:BaseParts :
武器手柄
处理 部分决定玩家角色在哪里握住武器。这必须是 Part , 必须命名为 处理 , 且必须是武器 (工具) 的直接子女。
配置文件夹
配置 文件夹包含武器行为的特定“值”类型。除了默认值外,当适用时,您可以添加额外的配置项专用选项。
如下是基础配置和其默认值:
项目 | 描述 | 默认 |
---|---|---|
弹药容量 | 玩家必须重新装弹前的每个“弹药弹匣”中的射击数量。请注意,弹药是无限的,并不规定玩家携带了多少弹药。 | 30 |
射击模式 | 从以下中选择 半自动 (每次点击/点击拍一枪)、 自动 (连续触发)或 爆破 (爆破射击数量等于 NumBurstShots 每次点击/点击)。 | 半自动 |
射击冷却时间 | 点击之间的最小等待时间。对于具有 射击模式 的 自动 武器,这也是在按下点按击按钮或按住单击时之间的时间。 | 0.1 |
爆破射击冷却时间 | 连发中每一次射击的时间间隔;仅在你将 射击模式 设置为 连发 时才重要。 | 值 射击冷却时间 |
数量爆炸射击 | 每次点击/爆破的射击数量;仅在你将 射击模式 设置为 爆破 时才有意义。 | 3 |
命中伤害 | 每次直接命中的伤害量。 | 10 |
全部伤害距离 | 射击将造成全部伤害的最大距离。距离超过此距离的任何东西将受到越来越少的伤害,距离接近 零伤害距离 时。 | 1000 |
零伤害距离 | 距离超过或达到此距离的任何东西都不会受到伤害。 | 10000 |
子弹速度 | 子弹/发射物在射击时的速度。将其设置为很高的值,如 20000 会模拟射线武器,例如激光枪。 | 1000 |
最大距离 | 最大距离子弹/发射物在消失之前旅行的距离。 | 2000 |
最小分布 | 武器的最小传播量。 | 0 |
最大分布 | 武器的最大传播量。 | 值 MinSpread 的值 |
重力因子 | 重力应对每一颗子弹/发射物产生影响的数量。例如,这个值为 十字弓 是 1 因为箭在飞行时弯曲,但这个值为 火箭发射器 是 0 因为推动的火箭直行。 | 0 |
有范围 | 如果您想使用指定在 武器系统图形用户界面 中的范围,设置为 true 。 | 错误 |
重新加载动画 | 在 资产 / 动画 的 系统文件夹 中的重新加载动画轨道名称。 | 步枪重新装弹 |
目标跟踪 | 名称目标动画轨道在 资产 / 动画 的 系统文件夹 。 | 步枪瞄准 |
瞄准缩放跟踪 | 名称的目标缩放动画轨道在 资产 / 动画 的 系统文件夹 。 | 步枪瞄准镜 |
后坐力最小 | 每次射击的最小后坐力添加。 | 0.05 |
后坐力最大 | 每次射击的最大后坐力添加。 | 0.5 |
总回弹最大值 | 总最大累积反弹。武器的当前反弹永远不会超过此值。 | 2 |
后坐力衰减 | 反弹的衰减倍率;实际上是反弹在射击后减少的速率。 | 0.825 |
反弹延迟时间 | 在收回前射击/点击后的等待时间被添加到镜头。 | 0.07 |
启动时间 | 玩家可以射击之前武器装备的时间长度。这防止玩家在快速连续射击中从多个不同武器发射单发子弹。 | 0.2 |
发射播放速度范围 | 音调可以为武器的 发射 音效变化的数量。将其设置为 0 即可确保始终以相同的音调播放。 | 0.1 |
数量子弹 | 当你单击/点击一次时会发射的子弹/弹丸数量。这对像 霰弹枪 这样的武器有用,可以同时发射多个子弹。请注意,一次射击总是使用准确的一发子弹,无论这个值是多少。 | 1 |
专业选项
您可以为任何武器添加/修改以下选项。这些自定义需要修改武器的 Model、武器的 Configuration 或两者都。一些配置依赖于其他配置,例如 枪口粒子 ,需要为 项目/射击效果和声音 提供必要的子配置。
闪电动画和声音
武器的 螺栓 是每次发射时前后移动的部分。
- 武器的武器模型后裔
箭矢 | BasePart 当武器发射时移动。 | |
螺栓电机 | Motor6D 用于动画螺栓。请确保将电机的 Part0 设置为武器模型的 PrimaryPart 和 Part1 设置为 螺栓 部分。 | |
螺栓电机启动 | Attachment whose 位置 on the 父 BasePart 决定了螺栓在静止时的位置。 | |
螺栓电机目标 | Attachment whose 位置 on the 父 BasePart 决定了螺栓在射击时动画到哪里。 | |
闪电打开声音 | Sound 在螺栓打开时播放。 | optional |
闪电关闭声音 | Sound 在螺栓关闭时播放。 | optional |
- 武器的配置文件夹的子文件
项目 | 描述 | 默认 |
---|---|---|
行动打开时间 | 箭头动画到打开位置所需的时间。 | 0.025 |
行动关闭时间 | 箭头动画到闭合位置所需的时间。 | 0.075 |
弹出子弹壳
武器可以包括射击时弹出并落到地面的物理子弹壳。
- 武器的武器模型后裔
外壳射出点 | Attachment whose 位置 on the 父 BasePart 决定了你想要弹出子弹壳的位置。请注意,其方向决定了外壳弹出的方向。 |
- 武器的配置文件夹的子文件
项目 | 描述 | 默认 |
---|---|---|
外壳效果 | 外壳名称 BasePart 在 资产 效果 外壳 / 系统文件夹 。 | |
壳体弹出速度分钟 | 壳的最低喷射速度 | 15 |
外壳射速最大 | 壳的最大射出速度 | 18 |
包裹击打声音 | Sound 当包裹击打地面时播放。 | optional |
投射物/命中效果和声音
您可以为任何武器配置物理投射物,以及 Sounds、Beams 和 ParticleEmitters 用于命中效果和其他特殊效果。
- 武器的配置文件夹的子文件
项目 | 描述 | 默认 |
---|---|---|
射击效果 | 一个射击效果的名称存储在 资产 / 效果 / 系统文件夹 中。 | |
应该移动部件 | 将武器的射击效果设置为真实,如果武器的射击效果应与弹道移动,或为假,如果不是。您只应该将此设置为 true ,如果每次射击都会移动的可见物体,例如箭头或火箭。 | 错误 |
渐变时间 | 需要多长时间 光束0 或 光束1 ( 请参阅以下 ) 消失后,子弹/弹丸击中了某物默认情况下,代验证码将不会应用手动渐变。 | 0 |
梁宽度0 | 梁0 或 梁1 在 附件0 (见下面)的厚度 | 1.5 |
梁宽度1 | 梁0 或 梁1 在 附件1 (见下面)的厚度 | 1.8 |
数量击中粒子 | 命中粒子 ( 请参阅下面 )发射器将发射的粒子数量。 | 3 |
命中粒子使用部分颜色 | 将其设置为 true ,如果你希望命中的粒子是命中表面的颜色;将其设置为 false ,如果你希望命中的粒子不会改变颜色。 | 真实 |
- 在上一节中记录的指定 射击效果 的后裔
飞行 | Sound 在子弹/发射物正在移动时播放的。 | optional |
optional | ||
optional | ||
附件0 | Attachment 其位置在父BasePart决定了尾部跟踪光束的位置;请确保将Beam.Attachment0设置为 光束0 和 光束1 。 | optional |
optional | ||
踪迹粒子 | ParticleEmitter 被视为 附件0 的直接子女;这将在子弹/发射物移动时发出。 | optional |
领导粒子 | ParticleEmitter 被视为 附件1 的直接子弹/弹射物;这将在子弹/弹射物移动时发射。 | optional |
命中效果 | Attachment 其位置将设置为 Beam.Attachment1 的 光束0 当子弹/枪弹击中时。您必须指定 光束0 和其附件,才能使其正常工作。 | optional |
命中声音 | Sound 作为 命中效果 的直接子女出现;当子弹/发射物命中时播放。 | optional |
命中粒子 | Sound 作为 命中效果 的直接子女发射;当子弹/发射物击中时发射。 | optional |
[投射物部分] | 任何 Part 或 MeshPart 你想要作为物理投射物出现的。确保您在上一节中注释的 应该移动部分 设置为 true ,如果这里有可见的对象。 | optional |
枪口粒子
这个选项会在武器的尖端附件发射时,从指定的 发射粒子。
配置子孙:

对于指定的射击效果,在 WeaponsSystem/Assets/Effects/Shots 命名为 枪口粒子 的粒子发射器资产中添加。

枪口闪光
这个选项在武器发射时创建一个 Beam 闪光效果。
模型后裔:

- 枪口闪光0 ( Attachment ) — 用于指定枪口闪光的一侧。位置不重要。
- 枪口闪光1 (Attachment)—用于指定枪口闪光的反面。位置不重要。
配置子孙:

粒子踪迹
这个选项创建从武器到项目击中点的不同长度的踪迹。
配置子孙:

- 显示整条踪迹直到命中 ( BoolValue ) (可选) — 设置为 true 来渲染武器尖端到项目弹道的整条踪迹;这将覆盖 both 踪迹长度 和 踪迹长度因子 ,项目弹道只会消失一旦命中。将 设置为 false ,使用上述两个选项之一来计算踪迹长度。默认值为 假 。
命中标记
这种视觉增加出现在投射物击中的表面,对箭头、子弹洞、灼烧标记等有用
配置子孙:

- 将命中标记调整为正常 ( BoolValue ) (可选) — 将命中标记设置为 true ,如果命中标记始终与表面平齐,像子弹孔一样,或将命中标记设置为 false ,如果命中标记从射弹的方向卡在表面上(像箭)。默认值为 true 。
您可以在 WeaponsSystem/Assets/Effects/HitMarks 内添加以下可选资产:

- 发光 ( Decal ) (可选) — 在命中表面完全不透明,然后快速变得更透明,就像表面上的闪光效果迅速消失一样。对于像显示爆炸物击中的发光红色标记等有用。
- 子弹孔 ( ) (可选) — 在命中表面完全不透明,4秒后会渐变透明,持续 1 秒。
- 任何 Part / MeshPart / SpecialMesh 你想显示为物理投射物 (可选)。例如,包括箭头 MeshPart 以及设置 将命中标记调整为正常 到 false 将使箭头从你射击的方向突出地表。
爆炸枪弹
投射物可以包含一个爆炸对象,对影响点周围的玩家角色造成伤害。
配置子孙:

正在充能武器
像电磁炮这样的充电武器必须在射击之前充满电才能再次发射。
模型后裔:

- 充电 ( Sound ) (可选) — 在武器充电时播放。
- 放电 ( Sound )(可选)—在武器放电时播放,例如如果你只部分地充电并释放射击按钮。
- 充电完成 ( Sound ) (可选) — 当武器充充值完毕时播放。
- 完全放电完成 ( Sound ) (可选) — 当武器完全放电时播放。
- 充电发光 ( BasePart ) (可选) — 这个对象在武器充电时会变得越来越不透明,使其在 100% 充充值时完全不透明。
- 充电完成粒子 ( ParticleEmitter ) (可选) — 当武器充电完成时发出。这个发射器可以是任何模型的子 或子模型中的 的孩子。
- 放电完成粒子 ( ParticleEmitter ) (可选) — 当武器完全放电时发出。这个发射器可以是任何模型的子 或子模型中的 的孩子。
- 充电粒子 ( ParticleEmitter ) (可选) — 在武器充电时发射。您可以包含这个名称的多个发射器,每个发射器都会在充电时发射。这个发射器可以是任何模型的子 或子模型中的 的孩子。
配置子孙:

- 充电率 ( NumberValue ) — 武器将充充值的速率。此值必须指定以表明武器使用充电。
- 静电充电 ( BoolValue ) (可选) — 设置为 true 如果你希望武器静电充电,这样一旦你点按击就会立即发射,或 false 如果你想点击/触摸以充电武器,并且达到满载时发射。默认值为 假 。
- 充电粒子率每次充电 ( IntValue ) (可选) — 武器所有 充电粒子 发射器的粒子数乘以武器当前的充电。默认值为 20 , 即如果武器充能率为 10%,每个充能粒子发射器将发射 2 个粒子 (20×0.1),如果武器充能率为 90%,每个发射器将发射 18 个粒子 (20×0.9)。
- NumDischargeCompleteParticles (IntValue (可选) — 武器完全放电时发射器会发射的粒子数量 - DischargeCompleteParticles 。默认值为 25 .
弓武器
像十字弓这样的弓武器可以包括一个具有现实感的绳索和手臂建造,以及一个视觉箭头被固定在绳字符串上。
除了添加模型子孙外,您还需要应用以关注中/正在关注内容:
模型后裔:

- 左字符串 ( Beam ) (可选) — 字符串的视觉左半部分。
- 右侧字符串 ( Beam ) (可选) — 字符串的右侧视觉。
- 箭头 ( BasePart ) (可选) — 当弓完全绘制时出现的箭头。请注意,这仅用于弓上的视觉外观(实际发射的箭会是 射击效果 ,如 《项目/命中效果和声音》 中所述)。
- 字符串1 ( Attachment ) (可选) — 字符串的中心点。
- 手臂 ( Part ) (可选) — 一个部分,仅用于内部指示弓手臂将被动画。它可能包含以下直接子女:
- LeftString0 (Attachment (可选) — 左侧字符串连接到弓的地点。
- RightString0 ( Attachment ) (可选) — 点, where the right side of the string is attached to the bow。
- [特殊网格] ( SpecialMesh ) (可选) — 当弓被拉出时会实际弯折的弓的部分。请注意,您必须指定以下四个 Vector3Value 对象来使其动画。
武器系统图形界面
核心武器系统与此系统接口,根据像枪支散射、当你被击中或击中他人等情况更新图形用户界面。 武器系统图形用户界面 是在体验开始时父辈到ScreenGui的对象,当体验开始时,WeaponsSystem/Assets 对象将被父辈到PlayerGui。武器系统Gui有4个子孙:
缩放元素
缩放元素是 Folder 在武器系统Gui下父辈的子孙,具有以下后裔:
名称 | 实例类输入 | 描述 |
---|---|---|
方向指示器 | Folder | 一个 Folder ,在那里所有 方向指示器 都被存储。 |
十字线 | Frame | 一个 Frame 包含以下对象:[UIAspectRationConstraint] - UIAspectRatioConstraint 下部 - ImageLabel 左侧 - ImageLabel 右侧 - ImageLabel 顶部 - ImageLabel |
命中标记 | Frame | 包含以下对象的 A Frame :[UIAspectRatioConstraint] - UIAspectRatioConstraint 命中标记图像 - ImageLabel 当玩家成功击中另一个玩家角色时出现并消失。 |
大触摸屏幕
大型触摸屏是包含显示在大型触摸屏上的按钮的 Frame 。大型触摸屏有以下子孙:
- 目标按钮 ( ImageButton )
- 火焰按钮 ( ImageButton )
范围
范围是一个 Frame 包含 范围图像 ( ImageLabel ),当启用有瞄准镜的武器时显示 (见 武器结构 )。 范围 有以下子孙:
名称 | 实例类输入 | 描述 |
---|---|---|
范围实例 | Frame | 包含以下资产的 Frame 当将武器放大时使用时:[UIAspectRationConstraint] - UIAspectRatioConstraint 黑色底部 - Frame 左黑色 - Frame 右黑色 - Frame 顶部黑色 - Frame |
小型触摸屏
小触摸屏是包含显示在小触摸屏上的按钮的 Frame 小触摸屏。小触摸屏有以下子孙:
- 目标按钮 ( ImageButton )
- 火焰按钮 ( ImageButton )
创建方向指示器
方向指示器用于显示玩家十字线周围的某物的方向。例如,如果有人向你开枪,一个红色的半圆可以出现在你的十字线的方向,射击来自的方向。其他例子包括显示脚步方向的指示器、间接枪击或甚至环境物体,例如箱子。
要创建新的指标,请在 WeaponsSystemGui/ScalingElements/DirectionalIndicators 中添加新的指标 Frame 以下结构:
名称 | 实例类输入 | 描述 |
---|---|---|
[UIAspectRationConstraint] | UIAspectRatioConstraint > | |
[图像标签] | ImageLabel | 方向指示器的图像。在工作室调整图像的旋转可能需要,除非您上传图像使其面向下方,周围没有太多空白空间。此图像标签必须还包含自己的 UIAspectRatioConstraint 。 |
[配置] | Configuration | 包含可选属性以调整。请参阅指示器配置获取更多信息。 |
创建后,您可以通过以下命令内的 WeaponsSystem/Libraries/WeaponsGui 激活指示器,其中 indicatorName 是指示器启用的字符串名称,世界位置是指向方向指示器应该指向的世界位置:
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
指示器配置
方向指示器可以通过调整 Configuration 对象在 [Indicator] 下的父对象来进一步修改。所有这些设置都有默认值,因此无需在未修改设置时设置配置。
以下配置可以设置:
名称 | 实例类输入 | 描述 |
---|---|---|
距离等级从中心 | NumberValue | 屏幕中心到距离等级的数量(每个距离等级约为 0.03 屏幕缩放);默认值为 6 。 |
淡化时间 | NumberValue | 激活后的指示器淡化时间和 TimeBeforeFade 时间;默认值为 1 。 |
名称 | StringValue | 您想在代验证码中引用导航指示器的名称;默认是导航指示器的最高级别名称 Frame 。 |
褪色之前的时间 | NumberValue | 指示器在消失之前会出现的秒数;默认值为 1 。 |
透明之前褪色 | NumberValue | 指示器开始褪色之前的透明度;默认值为 0 。 |
宽度等级 | NumberValue | 从中心的宽度等级数(每个宽度等级约为 0.03 屏幕缩放);默认值为 距离等级从中心 的值。 |
显示伤害广告牌
伤害广告牌用于在受损时显示角色头上的小数字。这些只会出现给伤害了另一名玩家角色的玩家,而不是给观战的玩家。
损坏广告牌在 WeaponsSystem/Libraries/DamageBillboardHandler 中处理,可以通过以下任意客户端代码激活,其中损坏是指造成的伤害数量,装饰部分是指装饰广告牌的部分,例如受害者的头部:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
肩部相镜头
肩部相机是第三人称相机,可以查看玩家角色的右肩。要自定义肩部相镜头,修改 -- 配置参数 (恒定) 评论下的变量在 函数中。你可以修改像视野、角色偏移、在跑步或缩放时的步行速度等东西
冲刺和缩放控制
默认情况下,武器系统添加“冲刺”功能,因此玩家可以按住 Shift 键来冲刺,或者按住左侧的动态拇指(手机)或按住左侧的左侧拇指(游戏手柄)来全速冲刺。如果您想禁用冲刺,将 SprintEnabled 的值设置在 武器系统 / 配置 内为 false 。
系统还会在玩家瞄准/缩放时减少速度,但您可以通过设置 SlowZoomWalkEnabled 的值为 false 来禁用此行为。
