VRChatでコントローラーのスティック入力を取得する方法
対象
コントローラーのスティック入力を取得して色々したいなと思った人
例えば、移動の入力をドローンなどの操作の移動に変更するといったもの
検証環境
Unity2019.4.31f1 VRChatSDK-World 3.4.0 VRChatSDK-Base 3.4.0
やり方
UdonSharpBehaviorを継承して、以下のメソッドを追加する
- InputMoveHorizontal
- InputMoveVertical
具体的には以下の通り
public class VRCSample : UdonSharpBehaviour { //水平方向の入力を受け取る public override void InputMoveHorizontal(float value, VRC.Udon.Common.UdonInputEventArgs args) { } //垂直方向の入力を受け取る public override void InputMoveVertical(float value, VRC.Udon.Common.UdonInputEventArgs args) { } }
これらのメソッドに関しては、DeskTop、VR共にさほど変化はなく Horizontalの場合は、左移動の時は、負の数値、右移動の時は、正の数値が入力される Desktopの際は、-1,0,1と入力が返されるが、VRの場合は-0.99 ~ ,0,~0.99が返却される。
Verticalは前後移動の際に同様の数値が返却され、 前方向は正の数値、後ろ方向は負の数値が返却される。