UnityでAndroidのバイブレーションを直接呼び出すプラグインを作成しました
利用用途
- Unity標準で利用でいるバイブレーション呼び出しメソッド Handheld.Vibrate 以外の種類のバイブレーションを利用したい
本体
インストール
GitHubのリリースページにあるunitypackageファイルを利用してください
android端末ではバイブレーションの利用に android.permission.VIBRATE の宣言をAndroidManifestに追加する必要がありますが、プラグイン内部のAndroidLibraryの中に宣言が含まれているのでAndoirdManifestの編集は必要ありません。
使い方
プラグインに鳴らしたい時間(ミリ秒)を渡すだけです
int milliseconds = 100; UniAndroidVibration.Vibrate(milliseconds);
実装
メソッド呼び出しのWrapをしているだけなのでものすごく単純です
Android Libraryでの実装
public class UniVibration { public static void vibrate(int milliseconds) { Activity activity = UnityPlayer.currentActivity; Vibrator vibrator = (Vibrator)activity.getSystemService(Context.VIBRATOR_SERVICE); vibrator.vibrate(milliseconds); } }
Unityでの実装
public class UniAndroidVibration { private const string PackageClassPath = "net.sanukin.vibration.UniVibration"; public static void Vibrate(int milliseconds) { #if !UNITY_EDITOR && UNITY_ANDROID var javaClass = new AndroidJavaClass(PackageClassPath); javaClass.CallStatic("vibrate", milliseconds); #endif } }
まとめ
Androidは細かい時間や間隔を設定してバイブレーションを鳴らせるので便利、iOSにもこの機能が欲しい