用按钮射击
描述
按按钮射击行为可让你使用屏幕上的按钮,让任意对象发射弹丸。如果场景中没有按钮,此行为会自动在 Global UI 图层中添加一个按钮(删除此行为不会从场景中移除该按钮)。此行为包含一些预设属性,可简化特定类型游戏的制作,非常适合射击游戏。
「按按钮射击」行为提供了许多属性,可用于自定义游戏的手感。试着修改这些属性,让你的游戏玩起来不那么像千篇一律的射击游戏。
当子弹弹丸击中对象时,此行为会触发一次事件。
已绑定骨骼的对象
本节介绍实时绑定更新功能,需要使用包含已绑定骨骼对象的版本。尚未确定公开发布日期。现有的精灵/对象工作流程仍受支持。
对象 A 是射击按钮;对象 B 是角色。 选择一个 Body Part → Upper Body(身体部位 → 上半身)射击片段(或合适的手臂组),这样角色就能在行走或跳跃时射击。开始时,将其动画优先级设为与移动动画相同。
控制器会在射击图层播放完成后释放其蒙版。弹丸设置仍决定实际子弹;绑定动画不会自动选择用于生成子弹的枪口骨骼。创建自定义骨骼定位的特效或射击效果时,请使用 Get Bone Transform。
兼容的已绑定骨骼对象会打开绑定动画片段选择器;普通动画对象则会继续使用精灵帧选择器。在较宽的选择器中,选择动画片段后会开始播放小型循环预览。在较窄的选择器中,轻点循环旁的播放图标即可显示预览;关闭预览可为循环列表腾出更多空间。然后选择 Full Animation(完整动画)、Body Part(身体部位)或 Additive(叠加)。预览仅显示该动画片段本身;请在场景中测试组合动画。Speed Multiplier(速度倍数)控制绑定动画片段的播放速度;帧 FPS 控件则用于精灵动画。设置 Transition Duration(过渡时长),让切换更加平滑。在紧凑屏幕上,可在 Animation(动画)下比较动画片段,轻点 Next(下一步)查看 Playback(播放)设置,然后轻点 Select Animation(选择动画)进行确认。
Body Part(身体部位)需要使用从导出的绑定骨架中指定的骨骼组名称。Additive(叠加)可以使用整个骨架或某个骨骼组,并叠加动画片段相对于其第一帧所产生的变化。自定义绑定骨架必须在 Art Studio 中定义自己的骨骼组、保存,并更新已绑定骨骼对象的导出文件。此行为仍以完整角色为目标。
如果目标通过 Object ID 动态提供,系统提示时,请在资源库中选择一个参考资源。这会决定打开哪个动画选择器,但不会替换动态目标。运行时,目标必须使用兼容的绑定骨骼资源,并且动画片段/骨骼组标识必须与所选内容一致;仅仅名称与其他骨架相同还不够。
如需了解动画模式、优先级、父级运动和自定义绑定骨架设置,请参阅 身体部位与动画混合;也可以按照 同时行走、蹲伏、跳跃和射击进行操作。
属性
事件触发一次
| 对象 A |
这是用于让对象 B 射击的按钮。系统会自动选择添加到 Global UI 图层中的按钮。如果没有按钮,系统会自动创建一个。 |
| 对象 B |
这是执行射击的对象。默认情况下会选择当前对象,但你可以轻点图像,将其更改为场景中的其他任意对象。另请注意,选择对象时,蓝色目标表示子弹的发射位置。你可以将蓝色目标移动到任意位置,发射器位置也会随之更新。 |
| 声音 |
你可以选择在射击时播放的音效。 |
| 子弹图像 |
这是用来表示所发射弹丸的图像。请注意,图像的尺寸决定了子弹的大小(以及碰撞形状)。 |
| 发射器位置 |
这是弹丸/子弹的发射位置。默认情况下,子弹会从对象中心发射。你也可以使用对象 B 选择器,移动蓝色目标来直观地更改发射器位置。 |
| 初始速度 |
这是子弹的发射速度。请注意,如果开启了“Physics”(物理)开关,子弹会受到其他力的影响而减速(如重力、空气阻力等)。默认值为 30 m/s。 |
| 距离 |
这是子弹消失前能够飞行的距离。默认值为 32 米。 |
| 射击角度 |
这是子弹相对于对象的发射角度。例如,你可以从对象的正面而不是顶部射击。默认值为 90 度。 |
| 子弹旋转 |
此值用于设置代表弹丸的图像旋转角度。如果子弹朝向错误,请更改此值。默认值为 0 度。 |
| 散射范围 |
这是从对象发射的子弹的散射范围。如果发射多颗子弹,可以增大此角度,让子弹散得更开。这对制作机枪类武器很有用。默认值为 30 度。 |
| 散射偏差 |
此值会为子弹散射范围(散射范围)添加一定的随机性。数值越高,子弹看起来越随机。这非常适合模拟机枪类武器的后坐力。默认值为 0%。 |
| 子弹数量 |
这是按下射击按钮时发射的子弹数量。默认值为 1。 |
| 延迟 |
这是枪械在发射下一颗子弹前等待的时间。如果你想减慢弹丸的发射频率,并让子弹之间保持间隔,此设置会很有用。默认值为 0.5 秒。 |
| 物理 |
此开关用于控制子弹是否遵循物理引擎。如果开启,重力和其他外力会影响子弹的速度和方向。默认情况下,此开关处于关闭状态。 |
| 碰撞后销毁 |
此开关用于控制子弹与其他对象碰撞时是否消失。如果此开关关闭且物理效果也关闭,子弹就会在场景中四处反弹。默认情况下,此开关处于开启状态。 |
| 存活子弹上限 |
此值用于控制屏幕上同时存在的子弹数量。射出的子弹达到此数量且仍在场景中时,你将无法继续射击。 |
| 播放动画 |
开启此开关后,按下射击按钮时,对象会播放动画。你必须在“Custom Animations”(自定义动画)面板中选择一个动画。 |
| 自定义动画 |
你可以在左侧面板中选择一个动画循环,让它在按下射击按钮时播放。 |
| 动画优先级 |
在左侧的“Custom Animations”(自定义动画)面板中,你可以为射击动画设置优先级,避免它与其他正在播放的动画冲突。动画系统会播放优先级较高的循环。因此,如果另一个动画行为打断了射击动画,请尝试提高其优先级。 |
输出
| 对象 ID |
输出对象的 ID。 |
示例
如果你想制作一款射击游戏,只需将此行为添加到玩家对象上。它会自动在 Global UI 图层中创建一个按钮,让角色能够射击。通过修改属性,你可以制作各种武器,例如手枪、机枪、火箭发射器或其他弹丸类武器。

