Udon初めの初歩の初歩
ビジュアルプログラミング…いいよね…
ガチのプログラマーに言わせると文字でやるプログラミングの方が絶対楽!!!!って言うんだけど、英語の羅列を見てるとくらくらしてくるてねひむとしては頭の中で思い浮かんだ設計図通りにおいていけば動くビジュアルプログラミングがめちゃくちゃあってるんだよね…
unityでゲーム作ろうって思った時もC#全くわからないまま、BOLTっていうビジュアルスクリプティングアセットでいろいろ作ったし
しかしまぁ、BOLTはその価値は十分にあるとはいえ有料アセットなので、友達に「BOLTやろうぜ!」って言っても誰も乗ってきてくれないし、「ここどうすればいいんだろう…」って悩んでも質問できる人もいなくてつらかった…
そんな中で、某…っていうかVRChat運営が突然「ビジュアルスクリプト言語公開するよ!」っていうからびっくりしちゃった
まだできたばっかりで情報もないし探り探りやってるけど、てねひむが理解したところまで情報出しておくぞ!
だから!みんなの!情報をくれ!
ちなみに、Udon事態はまだまだアルファの段階ということで、めちゃくちゃバグがありますし今後のシステム変更もめちゃくちゃ可能性あります!!!!!!!!!!
公式のページ
https://docs.vrchat.com/docs/getting-started-with-udon
ここらへんを参考にしました
https://www.youtube.com/watch?v=GWv3zloRWY4&t=648s
回転するオブジェクト
とりあえず回転する。めちゃくちゃ短いけどUdon作成の流れを確認するにはいいんじゃないだろうか?
用意するもの
適当なキューブ:リジットボディをアタッチしない、空中に浮かんだ状態のもの
ミラースイッチ
ボタンを押すとミラーを表示したり消したりするやつ
用意するもの
適当なキューブ:スイッチになる
ミラー:これを出したり消したりする
こちらのUdonグラフをスイッチになるキューブに設定する
コンパイルするとスイッチのInspecter>Udon BehaviourにPublic Variablesという項目が現れるので、その中にミラーオブジェクトをドラッグアンドドロップで入れる
ロジック内にInteractが使われていると、オブジェクトが勝手にスイッチになる
表示、非表示を切り替える手持ちスイッチ
適当なキューブ:VRC Picupコンポーネントをアタッチして手で持てるようにしたものAutoHoldをONにしておく
表示非表示をするオブジェクト
InteractをOn Pickupにかえただけ
持ち上げるたびに表示非表示が切り替わる
On PickupをOn Pickup Use Upにかえただけ
スイッチを持ち上げて、Useをした時に機能する
Pickup Use UpはUseボタンを離したとき
Pickup Use DownはUseボタンを押したときにそれぞれ機能する
お好みで選びましょう
ワールド重力制御装置
用意するもの
ピックアップオブジェクト:VRC Picupコンポーネント、AutoHold設定をしたもの
お好みでON-OFFをわかりやすくする表示オブジェクト:ピックアップオブジェクトの子供階層に置いておく
targetにON-OFF表示オブジェクトを設定しておく
手にもってUseするたびに重力が通常と逆転で切り替わる
通常重力加速度はYマイナス方向に9.8!
ワールドの重力がひっくり返るため落ちてるものも上に飛んで行って面白いぞ!
ほかのユーザーはどうなるのか知らない…ローカルテストしかやってないので…
単体ユーザー重力制御装置
用意するもの
ワールド重力制御装置の時と同じ
ユーザーに対して何かしらする場合は、StartイベントでVariableにNetworking Get Playerを入れておく
こちらはワールドの重力ではなく、ローカルユーザーの重力だけを変更する
Vrcplayer Api Set Gravity Strengthは、ワールドの重力に対する掛け率。1が通常重力、ゼロで無重力になるはずなのだがゆっくり落ちていく…?マイナスで上に落ちる
ワープ装置
スイッチを押すと指定した場所までプレイヤーがワープする
用意するもの
スイッチオブジェクト
移動先指定Empty
上記の二つにそれぞれUdonグラフを設定する
スイッチオブジェクトに入れるUdonグラフ
移動先指定EmptyのCustam Eventを呼び出すだけの簡単なグラフ
Inspecter>Udon BehaviourのPublic Variablesに移動先指定Emptyを入れるのだが、ゲームオブジェクト指定ではなくUdonBehaviourを指定する必要があるので、いまはまだ移動先指定Emptyを入れることができない
移動先指定Emptyに入れるUdonグラフ
さっきのCustam Eventから、こちらのUdonグラフが呼び出される
こちらで指定された座標、角度にプレイヤーがテレポートする
こちらのグラフを作成した後であれば、先ほどのPublic Variablesに移動先指定Emptyを入れることができるようになる
プレイヤー飛行装置
Useを押すたび、オブジェクトのY方向に速度が発生する。
つまり手に持ったオブジェクトを飛びたい方向に向けてUseを連打すれば空を自由に飛べるのだ!!
用意するもの
ピックアップオブジェクト:VRC Picupコンポーネント、AutoHold設定をしたもの
GetUpでオブジェクトのY軸がどっちに向いてるか獲得してから10を掛けてVelocityに入れてる。てねひむ頑張った!えらい!
とりあえずいまはここらへんまでできるようになりました!!!
ここから先は「なにを作りたいのか」のアイデアのほうが重要になってきそうですね
それではこんかいはこのへんで~ノシ
この記事が気に入ったらサポートをしてみませんか?