※このページではアフィリエイト広告を紹介しています

VRChat Udonワールドの作り方を公式動画で学ぶ③ ~Haptic Eventで振動追加、ドアをアニメーションで動かす~

VRChat

バーチャル3Dクリエイター神部まゆみです(*^-^*)

この記事はVRChatワールドの作り方を公式動画で学んでみたのでそれについての記事です。

Haptic Eventで振動追加したりドアをアニメーションで動かしたりしました。

 

前回の記事はこちら。

VRChat Udonワールドの作り方を公式動画で学ぶ② ~OnPlayerTriggerEnterで自動ドアを作る~
VRChat Udonワールドの作り方を公式動画で学びました。自動ドアを作りました。

 


追記:

ドア開閉などイベントのトリガーについては別の記事で書いたので、良かったらこちらもどうぞ。

キー入力やVRコントローラーのボタン押したら切替えたりできます。

VRChat UdonのEventsをいじって試行錯誤してみた備忘録~InteractやOnPickupなど~
VRChat UdonのEventsをいじって試行錯誤してみた備忘録です。
VRChat UdonのInteractでドア開閉を作ったメモ。アニメーション切り替えとかコライダーの問題とか
VRChat UdonのInteractでドア開閉を作ったメモです。

 

■PR■

現在200個以上の新規unityアセットが最大50%オフで買える New Releaseセールをやっているみたいです。

unityアセット New Release割引 最大50%OFF

欲しいアセットはこの機会に買っておくと良いかも。

 
 

 

 

動画を見ながら学んでみる

とても参考になりました。

ありがとうございます(*^-^*)

8:00~11:00 Haptic Eventでドアが空いたらコントローラーが振動するようにする

これ動画の通りにやったらできてしまった。

ドアの開閉をBlockで受け取って…ってのはこれはOr条件みたいな感じかな。

動かしてみたら開く時も閉まる時も振動したので。

どちらかのSet LocalPositionが動作してtrueになったら、PlayHapticEventInHandを実行する…って感じだと思う。

あと例ではLocalPlayerにしてるけど、オンラインにアップした場合に動くか?或いはプレイヤー一人一人はローカルだからという解釈なのか…?実際アップしてみないとわからない。

11:00~アニメーションクリップで動かす

次はドアの開閉をトランスフォームではなくアニメーションクリップで動かすところ。

これができればワールドに配置したアバターやオブジェクトのアニメーションを変えたりできそう。

ドアにアニメーターコンポーネントを追加し、開閉のアニメーションを作る

ドアにアニメーターコンポーネントを追加する。

アニメーションウィンドウを開いて、アニメーションを新規作成する。

 

閉じた状態のはそのままでアニメーションのキーを打って、

開いた状態は上に上げてキーを打てばOK。

作り方は「プロパティーを追加」を押してトランスフォームのpositionを追加、赤い録画ボタンを押して緑矢印を移動させて録画する。

私はVeryAnimationが使い慣れているのでこちらを使いました。

Very Animation|Unity Asset Store

アニメーターを設定する

openとcloseを相互に行き来するトランジションを作って、bool型のIsOpenパラメーターを作成する。

transitionの条件はこんな感じ。trueとfalseでopenとcloseを切り替える。

「終了時間あり」はチェックを外す。

trueとfalseは逆だったかもしれない(~_~;)まぁやりながら調整してね。

 

↓の青い矢印みたいなのを動かせば、アニメーションの遷移を早くしたり遅くしたりできる。

再生ボタン押してテストしてみたけどちゃんと動作してるっぽい!

Udonを設定する

最終的にこんな感じになった。

 

ドアのアニメーターをudonグラフにD&DしてSetBoolでアニメーターのIsOpenを制御する感じっぽい。

SetBoolはString/boolにすればIsOpen変数を指定できる。

Exitのほうはfalseなのでチェックを外す。

 

これで動いた!

これでチュートリアル動画終わった。

動画は見るだけならすぐだけど、実際に考えながら手を動かすと時間がかかるね(;^_^A

でもそうしないと応用が利かないからね。

せっかくなので私の部屋も自動ドアにしてみるw

これだけだと「チュートリアル通りやったら動いた!」で終わりなのでさっそく私の部屋に学んだことを適用させます。

自動ドアだけじゃなくて配置したモデルのアニメーションを変えるのもできそう。

 

ドアの下にトリガーになる床を配置して、

扉には以前シェイプキーを仕込んであるから、トランスフォームいじらなくてもアニメーションがすぐ作れる。

 

一応扉全部仕込んでみたけどなんとか動いた!

ようやくギミックらしいギミックが仕込めた気がする。

 

近づくと自動で開いてますね。

 

注意したほうがいい点や気付いたこと

  • 親オブジェクトにアニメーターコントローラーとUdon設定しても動く
  • Udon Behaviorの参照がちゃんとされてるかチェック
  • Udonの反映が遅い場合は一旦unity再起動すると動いた

こんなとこかな?

Udonノードグラフを書き換えてコンパイルしても、反映が遅いのか?Build&Testしても動かないことが多かった。

何度もunity再起動する羽目になったけどなんとか動いた。

どこか設定があるのかもしれないけど。

おわりに

なんとか動いて良かった。

少しはUdonのことが分かってきたかな?

あとは自分で考えながら組んでみるしかないかもしれない。

 

まだチュートリアル動画は続きがあるからそれもやろうかな。

あとyoutubeにVRChat海外勢の人たちもたくさん動画上げてくれてるから、そういうの見ながらやってみようかな。

 

まぁぼちぼちいじっていきます(*^-^*)


追記:

ドア開閉などイベントのトリガーについては別の記事で書いたので、良かったらこちらもどうぞ。

キー入力やVRコントローラーのボタン押したら切替えたりできます。

VRChat UdonのEventsをいじって試行錯誤してみた備忘録~InteractやOnPickupなど~
VRChat UdonのEventsをいじって試行錯誤してみた備忘録です。

 

タイトルとURLをコピーしました