Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9683

UnityでXBOXコントローラーを振動させる

$
0
0

忘れそうなので自分用メモとして残しておきます。
Unity 2019.4で確認済みです。

今回はこちらのXInputDotNetというライブラリを使用させていただきました。
とても助かりました。感謝。
https://github.com/speps/XInputDotNet.git

手順

https://github.com/speps/XInputDotNet/releases

上にある最新のunityPackageをプロジェクトにインポートして

VibrationTest.cs
XInputDotNetPure.GamePad.SetVibration(0,5,5);

この一行で振動してくれました。お手軽。
左右別々のモーターをそれぞれ動かすことができるようです。

例えばこんな風にテスト用のスクリプトを書いてみました。

VibrationTest.cs
usingSystem.Collections;usingUnityEngine;usingXInputDotNetPure;publicclassVibrationTest:MonoBehaviour{[SerializeField]floatright_power=1;[SerializeField]floatleft_power=1;[SerializeField]floatduration=0.5f;voidUpdate(){if(Input.GetButtonDown("Fire1")){StartCoroutine("RightVibration");}if(Input.GetButtonDown("Fire2")){StartCoroutine("LeftVibration");}}IEnumeratorRightVibration(){GamePad.SetVibration(0,0,right_power);yieldreturnnewWaitForSecondsRealtime(duration);GamePad.SetVibration(0,0,0);}IEnumeratorLeftVibration(){GamePad.SetVibration(0,left_power,0);yieldreturnnewWaitForSecondsRealtime(duration);GamePad.SetVibration(0,0,0);}}

今のところ0をセットすることで振動を止めていますが、これでいいのでしょうか…

参考

【Unity】ゲームパッドを振動させてみる


Viewing all articles
Browse latest Browse all 9683

Trending Articles