ゲーム中にスマホをブルっとバイブさせよう

この記事の要旨

iOS/Androidのそれぞれで、スマホをバイブさせる実装を行う。

参考記事

基本的に以下のQiitaを読めばわかる人にはわかるんだと思います。なので、ド初心者の自分が詰まったところを中心に紹介。 https://qiita.com/mrhdms/items/3201baf851a91875fa29
Unityでモバイル端末のバイブレーションをコントロールする

iOS向けの実装

上記をC#で記述し、バイブさせたいタイミングでPlaySystemSound(int)を呼びます。intに渡す引数は、参考記事内の先にある下記をご覧ください。あと私は引っかかったのですが、名前空間に下記の追加を忘れないでください。ビルドエラーになります。
さて、”.mm”ファイルってなんですか?作り方も分からないので強行です。Unity上で.csファイルを作成し、Finder上から無理やり拡張子を.mmに書き換えました。
するとこのファイルをXCodeで編集できるようになったので、上記のコードをコピペし、UnityプロジェクトのAssets>Plugins>iOSに、適当な名前を付けて保存しておきます。
以上でiOSの方はおしまいです。実機にビルドしてみれば、呼び出しのタイミングでスマホがぶるっと震えることを確認できました。

Android向けの実装

AndroidはiOSに比べるとシンプルです。 上記をC#で記述し、実行したいタイミングでVibrate(long)を呼び出してください。また、この記述を行うクラスはクラス自体もstaticを付与し、monobehaviorの継承をしてはいけないっぽいです。そこでハマりました。UnityプロジェクトのAssets>Plugins>Androidに、適当な名前を付けて保存しておきます。 こちらも実機にビルドして、ぶるっと震えることを確認しましょう。
おわり!

コメントを残す

メールアドレスが公開されることはありません。