animation機能で手の形を変えた.animを使い、コントローラーのトリガーで遷移させる。
はしょってます。
Animation機能でポーズを作る
この動画の1:52あたりから指の設定をしています。詳しくはこちらから
キャラのAnimatorからLeft.Hand.Index.1.Stretchedなどを選んで数値を変えると
指を動かせます。
めっちゃ大変だったので、何かしらのアセットか、MayaなどのCGソフトで作ったほうがいいと思いました。
Animation機能が使い悪すぎる。
あと最初の謎のポーズから手をまっすぐした状態を作って、片手ずつグーのポーズを作ったけど、片手を動かしたらもう片方も反映されてしまうことに気づいた。
結局同時にグーにすることにした。
Animator設定
こちらが詳しいです。
あらかじめParametersでguなどの名前のtriggerを作り、
make transitionでanim間に線を引っ張って
Conditionsでさっきのパラメーターを選択
スクリプトでAnimatorを読み込んだうえで、
public Animator pro;
~
pro.SetTrigger("gu_L");
のような感じでSetTriggerが呼ばれたら遷移先のアニメーションが始まる。
Unity標準のVR機能でトリガー取得
今日初めて知ったのですが、Unity標準のVR機能があるそうです。
SteamVR入れなくてもトリガーとかを取得できるそうです。
こちらを参考にやりました。
トリガーはこんな感じで取れました。
Input.GetAxisでコントローラーの押し込まれ具合が取れます。一番押し込まれると1
if (Input.GetAxis("Trigger R") == 1F)
{
pro.SetTrigger("gu_R");
}
trigger Rというのは自分でInput Managerで設定した名前です。Project SettingのInputから設定できます。
Axisでそれぞれのコントローラーの番号を決めれます。ここに書いています。
左手のtriggerが9で右が10thです。
steamVR Pluginでやる場合はこちらから
完成
そんなこんなで一応トリガー引いたらグーはできました。
あんまりうまくいかなかった。
どんどんプロジェクトファイルが壊れていく