射击 | hyperPad Documentation
Logo

Art Studio 学习指南

描述

Shoot 行为是一种动作行为。执行时,它会让所选对象发射一个弹丸。此行为包含预定义属性,可简化某些游戏的制作过程,非常适合射击游戏。

Shoot 行为提供了许多属性,可用于自定义游戏的手感。尝试调整这些属性,让你的游戏不再像一款千篇一律的射击游戏。

此行为执行时会立即触发一次事件。

骨骼绑定对象

本节介绍实时骨骼绑定更新,需要使用包含骨骼绑定对象的构建版本。公开发布日期尚未确定。现有的精灵/对象工作流仍受支持。

将骨骼绑定的射击角色设为 Object A。在自定义动画设置中选择射击动画片段,并使用 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 动态指定目标,系统提示时请在资源库中选择一个参考资源。这只决定打开哪个动画选择器,不会替换动态目标。在运行时,目标必须使用兼容的骨骼资源,并具有相应的动画片段/骨骼组标识;仅仅在无关骨架上使用相同名称并不足够。

有关模式、优先级、父级运动和自定义骨架设置,请参阅 Body Parts and Animation Blending,或查看教程 Walk, Crouch, Jump, and Shoot together。

属性

立即触发

Object A

这是执行射击的对象。默认情况下会选中当前对象,但你可以点按图形,将其更改为场景中的其他对象。还请注意,选择对象时,蓝色目标标记表示子弹的发射位置。你可以将蓝色目标标记移动到任意位置,发射器位置也会随之更新。

Sound

你可以选择在射击时播放的音效。

Bullet Graphic

这是用于表示所发射弹丸的图形。请注意,图形的大小决定了子弹(及其碰撞形状)的大小。

Emitter Position

这是弹丸/子弹的发射位置。默认情况下,子弹从对象中心发射。你也可以使用 Object B 选择器,通过移动蓝色目标标记来直观地更改发射器位置。

Initial Speed

这是子弹的初始速度。请注意,如果开启了“Physics”开关,子弹会受到其他力的影响而减速(如重力、空气阻力等)。默认值为 30 m/s。

Distance

这是子弹消失前能够飞行的距离。默认值为 32 米。

Shoot Angle

这是子弹从对象发射时的角度。例如,你可以让子弹从对象前方而不是顶部发射。默认值为 90 度。

Bullet Rotation

此值用于设置代表弹丸的图形的旋转角度。如果子弹朝向错误,请更改此值。默认值为 0 度。

Spray Range

这是子弹从对象发射时的散射角度。如果发射多颗子弹,可以增大此角度,使它们散得更开。这对于制作机枪类武器很有用。默认值为 30 度。

Spray Variance

此值会为子弹的散射范围(Spray Range)增加一定的随机性。数值越高,子弹的散布看起来就越随机。它非常适合用来模拟机枪类武器的后坐力。默认值为 0%。

# Bullets

这是按下射击按钮时发射的子弹数量。默认值为 1。

Delay

这是枪械发射下一颗子弹前的等待时间。如果你想降低弹丸发射频率,让子弹之间留出间隔,此设置会很有用。默认值为 0.5 秒。

Physics

此开关控制子弹是否受物理引擎影响。如果开启,重力和其他外力会影响子弹的速度和方向。默认情况下,此开关处于关闭状态。

Destroy on Impact

此开关控制子弹与其他对象碰撞时是否销毁。如果关闭此开关且关闭物理效果,子弹就会在场景中四处反弹。默认情况下,此开关处于开启状态。

# Alive Bullets

此值控制屏幕上同时存在的子弹数量上限。当你发射的子弹达到此数量且仍存在于场景中时,就无法再发射更多子弹。

Play Animations

开启此开关后,按下射击按钮时对象会播放动画。你必须在“Custom Animations”面板中选择动画。

Custom Animations

你可以在左侧面板中选择一个动画循环,以便在按下射击按钮时播放。

Animation Priority

在左侧的“Custom Animations”面板中,你可以设置射击动画的优先级,避免它与其他正在播放的动画冲突。动画系统会播放优先级较高的动画循环。如果其他动画行为打断了射击动画,请尝试提高其优先级。

输出

Object ID

此输出会提供对象 ID。

示例

如果你想制作一款射击游戏,只需将此行为添加到玩家对象,它便会自动在 Global UI 图层上创建一个按钮,并让角色能够射击。通过修改属性,你可以制作出各种武器,例如手枪、机枪、火箭发射器或其他基于弹丸的武器。

下载示例项目

相关内容

Joystick Controlled

Hit by Bullet

Ignore Bullet

Ignore Object's Bullets

Shoot with Button

射击