【推荐100个unity插件之31】比Unity Input System自带的On-Screen Stick更加高级的虚拟摇杆—— EnhancedOnScreenStick插件

前言

Enhanced On-Screen Stick提供与Unity Input System/uGUI兼容的高级虚拟操纵杆。它使用Unity的Input System新输入系统屏幕控制来模拟触摸设备(如移动的设备)上的操纵杆输入。它还允许高级定制,如触摸位置跟踪,死区和可调操作区域。

对Input System新输入系统不熟悉的同学,可以查看我的这篇文章:
【推荐100个unity插件之18】Unity 新版输入系统Input System的使用,看这篇就够了

地址

github:https://github.com/AnnulusGames/EnhancedOnScreenStick
gitee:https://gitee.com/xiangyuphp/EnhancedOnScreenStick

要求

  • Unity 2020.1或更高版本
  • Input System 1.0.0或更高版本

安装

从窗口>包管理器打开包管理器。

单击+按钮> Add package from git URL.

输入以下URL:

https://github.com/AnnulusGames/EnhancedOnScreenStick.git?path=Assets/EnhancedOnScreenStick

或者,打开Packages/manifest.json并将以下内容添加到dependencies块:

{
    "dependencies": {
        "com.annulusgames.enhanced-on-screen-stick": "https://github.com/AnnulusGames/EnhancedOnScreenStick.git?path=Assets/EnhancedOnScreenStick"
    }
}

快速启动

您可以从 Create > Enhanced On-Screen Controls > On-Screen Stick 创建虚拟操纵杆。
在这里插入图片描述
创建后,将其放置在画布上并调整其大小和外观。带有附加组件的对象的“RectTransform ”范围将成为可操作区域。
在这里插入图片描述

接下来,从检查器设置控制路径。这允许您模拟来自任何设备的输入。
在这里插入图片描述
安装程序现已完成。您可以像往常一样使用输入系统处理输入。下面是一个使用增强的屏幕控制杆和InputAction进行移动处理的示例。

using UnityEngine;
using UnityEngine.InputSystem;

public class Player : MonoBehaviour
{
    [SerializeField] InputAction inputAction;
    [SerializeField] float movementSpeed = 5f;

    void Start()
    {
        inputAction.Enable();
    }

    void Update()
    {
        transform.position += movementSpeed * Time.deltaTime * (Vector3)inputAction.ReadValue<Vector2>();
    }
}

在这里插入图片描述

参数介绍

在这里插入图片描述
StickType 类型

StickType介绍
Fixed杆始终固定在其初始位置。
Floating操纵杆移动到触摸位置并保持固定,直到拖动结束。
Dynamic摇杆移动到触摸位置并跟随拖动移动。

Movement Range:移动范围,指定与要移动的控制柄中心的距离。
Dead Zone:死区,将输入阈值设置为0到1。死区以下的输入值被校正为0。
Show Only When Pressed: 仅在按下时显示,如果为true,背景和句柄在未触摸时处于非活动状态。

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向宇it

创作不易,感谢你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值