摇杆控制 | hyperPad Documentation
Logo
Documentation交互摇杆控制
交互

摇杆控制

Published 2017年2月18日
摇杆控制

Art Studio 学习指南

描述

Joystick Controlled 行为可让你使用屏幕上的操纵杆控制并移动任意物理对象。如果场景中没有操纵杆,该行为会自动在 Global UI 图层中添加一个操纵杆(删除此行为不会移除场景中的操纵杆)。此行为包含预定义属性,让创建某些类型的游戏更轻松。它非常适合平台游戏和射击游戏。Joystick Controlled 行为提供了许多属性,可用于自定义游戏的操控手感。试着修改这些属性,避免游戏玩起来像千篇一律的平台游戏或射击游戏。对于更高级、更深入的游戏,建议使用其他行为创建自己的控制方案。

当你朝某个方向移动操纵杆时,此行为会反复触发事件。

Rigged Objects

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

Object A 是操纵杆;Object B 是角色。 启用 Play Animations,并为该角色配置 Custom Animations。

要制作蹲姿行走:将 Left and Right → Walk → Full Animation 设为相应选项。将 Down → Crouch → Additive → Whole Rig 设为相应选项,并设置较短的过渡时间,例如 0.15 秒。让 Walk 作为主要步态;只有 Crouch 提供附加姿势。即使禁用了某个轴上的实际移动,附加方向仍可作出响应,因此横版游戏角色可以蹲下而不向下移动。

制作 Crouch 动画时,第一帧应为中立姿势,结束帧应为蹲姿。Once 片段会在按住 Down 时保持结束姿势;Loop 片段则会循环播放。松开 Down 时,只有该动画层会淡出。当没有其他基础动作占用时,松开移动操作后,场景中选定的默认动画便可恢复。如果希望 Idle 在首次输入前也播放,请选择 Idle,并在场景属性中启用 Start on Play。

要让射击动作独立播放,请使用 Shoot → Body Part → Upper Body。跳跃时,请使用 Takeoff / Fall → Body Part → Legs,并将优先级设置为不低于移动动画。蹲姿不会改变碰撞形状。

Rig Crouch 设置:在 Whole Rig 上使用 Additive。

Nova 实际运行效果对比:Walk、附加的 Crouch,以及 Upper Body 射击动作。

兼容的 Rigged Object 会打开 rig clip picker;普通动画对象仍会打开 sprite-frame picker。在宽屏选择器中,选中片段后会开始播放小型循环预览。在窄屏选择器中,轻点循环旁的播放图标即可显示预览;关闭预览可腾出更多空间显示循环。然后选择 Full Animation、Body Part 或 Additive。预览只会单独显示该片段;组合动画请在场景中测试。Speed Multiplier 控制绑定动画片段的速度;帧 FPS 控件则用于精灵动画。设置 Transition Duration 可让动作切换更平滑。在紧凑屏幕上,可在 Animation 下对比动画片段,轻点 Next 查看 Playback 设置,再轻点 Select Animation 确认。

Body Part 需要使用导出绑定中定义的骨骼组名称。Additive 可以应用于 Whole Rig 或某个组,并会叠加片段相对于第一帧的变化。自定义绑定必须在 Art Studio 中定义自己的组、保存,并更新 Rigged Object 导出。此行为仍然以整个角色为目标。

如果目标通过 Object ID 动态指定,系统提示时,请在 Asset Library 中选择一个参考资源。这决定了将打开哪个动画选择器,但不会替换动态目标。运行时,目标必须使用兼容的绑定资源以及所选的片段/组标识;仅仅在无关骨架上使用相同名称是不够的。

请参阅身体部位与动画混合,了解模式、优先级、父级动作和自定义绑定设置;也可以按照同时使用 Walk、Crouch、Jump 和 Shoot进行操作。

属性

在事件发生时反复触发

注意: 将项目从侧视图切换为鸟瞰视图时,部分属性可能不可用或行为有所不同。

Object A

这是用于控制 Object B 的操纵杆。它会自动选择添加到 Global UI 图层中的操纵杆。如果没有操纵杆,则会自动创建一个。

Object B

这是你想通过操纵杆控制的对象。默认情况下会选中当前对象,但你可以轻点图形,将其更改为场景中的其他对象。

Walking Speed

这是对象的移动速度。默认值为 12 m/s。

Air Speed

这是对象在空中的移动速度,通常用于从很高的平台坠落时。默认值为 12 m/s。

Acceleration Rate

此值决定角色移动时达到全速所需的时间。默认值为 100%。

Deceleration Rate

此值决定松开操纵杆后,角色完全停下所需的时间。默认值为 100%。

Controls Movement

默认情况下,此开关处于开启状态。关闭后,对象将不再随操纵杆移动。创建双摇杆射击游戏时通常需要关闭此选项,因为你可能希望一个操纵杆负责移动,另一个负责旋转玩家角色。

Invert X

开启此开关后,向左移动操纵杆会使对象向右移动,向右移动操纵杆则会使对象向左移动。此开关默认关闭。

Invert Y

开启此开关后,向上移动操纵杆会使对象向下移动,向下移动操纵杆则会使对象向上移动。此开关默认关闭。

Controls Rotation

此开关默认关闭。开启后,对象会随操纵杆的方向旋转。创建双摇杆射击游戏时通常需要此选项,因为你可能希望一个操纵杆负责移动,另一个负责旋转玩家角色。

Lock Rotation

此选项可防止对象旋转,包括由其他对象或场景中的物理效果导致的旋转。例如,你可以开启此选项,防止角色翻倒。如果启用了 Controls Rotation,则此选项不可用。此开关默认开启。

Analog Joystick

开启此开关后,操纵杆不再局限于标准的 8 个方向。你可以更精确地控制对象的移动方向。动作射击游戏通常需要此选项。

Joystick Up

开启后,对象可以向上移动。请记住,对象仍会遵循物理规则。因此,如果场景中存在重力,对象将无法向上移动。

此开关也会阻止(或允许)在操纵杆向上移动时触发事件。

Joystick Down

开启后,对象可以向下移动。请记住,对象仍会遵循物理规则。因此,如果场景中有对象阻止你移动,你就无法向下移动。

此开关也会阻止(或允许)在操纵杆向下移动时触发事件。

Joystick Left

开启后,对象可以向左移动。请记住,对象仍会遵循物理规则。因此,如果场景中有对象阻止你移动,你就无法向左移动。

此开关也会阻止(或允许)在操纵杆向左移动时触发事件。

Joystick Right

开启后,对象可以向右移动。请记住,对象仍会遵循物理规则。因此,如果场景中有对象阻止你移动,你就无法向右移动。

此开关也会阻止(或允许)在操纵杆向右移动时触发事件。

Play Animations

开启此开关后,当操纵杆向指定方向移动时,对象会播放动画。你必须在 Custom Animations 面板中选择一个动画。

Custom Animations

你可以在左侧面板中选择动画循环,以便在操纵杆向指定方向移动时播放。

Animation Priority

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

输出

X

此值表示操纵杆在 X 轴上的移动量。负数表示操纵杆向左移动,正数表示向右移动。

Y

此值表示操纵杆在 Y 轴上的移动量。负数表示操纵杆向下移动,正数表示向上移动。

Angle

此输出表示操纵杆的当前角度。

Object ID

输出对象的 ID。

示例

如果你想制作类似 Mario 的平台游戏,只需将此行为添加到玩家对象上,它就会成为游戏中的可控角色。

下载示例项目

相关内容

使用按钮跳跃

摇杆控制