IOS13&Android最新振动——Nice Vibrations插件

一:介绍

Nice Vibrations可以为IOS和Android提供简单而强大的振动和触觉反馈
通常,iOS手机的性能要比Android手机好得多,并提供更多控制功能
——在IOS端
支持旧的Taptic振动(从iOS 10和iPhone 7开始)以及最新的CoreHaptics振动(仅在运行iOS13+的iPhone8和更高版本上支持)。像连续,瞬态,AHAP这些高级功能取决于是否引入了CoreHaptics的API支持
——在Android端
对于运行低于25版本的SDK的Android设备,将无法控制幅度


二:插件中的目录结构

插件下载:https://download.csdn.net/download/LLLLL__/12493343
IOS13&Android最新振动——Nice Vibrations插件_第1张图片
——Common:包含触发Android和iOS上的触觉反馈所需的所有脚本,不要从此文件夹中删除任何内容
——Demos:演示案例
——OlderVersions:Nice Vibrations先前版本(v2.0适用于Unity 2019.2.9或更高版本,v3.0适用于Unity 2019.3或更高版本,本文提供的版本是v3.0)
——ThirdParty:包含一个第三方API,用于解析AHAP文件并将其转换为Android Waveforms


三:使用

引入命名空间using MoreMountains.NiceVibrations

——最简单的振动

MMVibrationManager.Vibrate();

 

 


——不同模式的振动

MMVibrationManager.Haptic(HapticTypes.Selection);
MMVibrationManager.Haptic(HapticTypes.Success);
MMVibrationManager.Haptic(HapticTypes.Warning);
MMVibrationManager.Haptic(HapticTypes.Failure);
MMVibrationManager.Haptic(HapticTypes.LightImpact);
MMVibrationManager.Haptic(HapticTypes.MediumImpact);
MMVibrationManager.Haptic(HapticTypes.HeavyImpact);
MMVibrationManager.Haptic(HapticTypes.RigidImpact);
MMVibrationManager.Haptic(HapticTypes.SoftImpact);

1.Selection:极轻微振动——可用于点击按钮
2.Success:普通振动——可用于游戏胜利
3.Warning:普通振动——可用于游戏提示
4.Failure:普通振动——可用于游戏失败
5.LightImpact:轻微振动
6.MediumImpact:中度振动
7.HeavyImpact:重度振动
8.RigidImpact:强硬而时间稍长一些的振动
9.SoftImpact:柔软而时间稍长一些的振动

 


——瞬间的振动

MMVibrationManager.TransientHaptic(强度0-1, 感知度0-1);

 

 


——连续的振动

MMVibrationManager.ContinuousHaptic(强度0-1, 感知度0-1,持续时间,振动类型,this);

 

 


——控制全局的Haptic振动开启或关闭

MMVibrationManager.SetHapticsActive(true);
MMVibrationManager.SetHapticsActive(false);

 

 


——判断设备是否支持Haptic振动

bool isSupported = MMVibrationManager.HapticsSupported();

 


四:振动回调

——对于使用MMVibrationManager.Haptic

/// 
/// 振动结束时
/// 
protected virtual void OnHapticsStopped()
{

}

/// 
/// 振动错误时
/// 
protected virtual void OnHapticsError()
{

}

/// 
/// 振动重置时
/// 
protected virtual void OnHapticsReset()
{

}

private void OnEnable()
{
    MMNViOSCoreHaptics.OnHapticPatternStopped += OnHapticsStopped;
    MMNViOSCoreHaptics.OnHapticPatternError += OnHapticsError;
    MMNViOSCoreHaptics.OnHapticPatternReset += OnHapticsReset;
}

private void OnDisable()
{
    MMNViOSCoreHaptics.OnHapticPatternStopped -= OnHapticsStopped;
    MMNViOSCoreHaptics.OnHapticPatternError -= OnHapticsError;
    MMNViOSCoreHaptics.OnHapticPatternReset -= OnHapticsReset;
}

 

 


——对于使用MMVibrationManager.TransientHaptic和MMVibrationManager.ContinuousHaptic

/// 
/// 振动结束时
/// 
protected virtual void OnHapticsStopped()
{

}

private void OnEnable()
{
    MMNViOSCoreHaptics.OnHapticPatternStopped += OnHapticsStopped;
}

private void OnDisable()
{
    MMNViOSCoreHaptics.OnHapticPatternStopped -= OnHapticsStopped;
}

 

你可能感兴趣的:(Unity开发实战,插件)