unityアセットのPlayMakerのチュートリアル動画をやってみたメモ②UIを作ってみる

3Dゲームの作り方
※記事内に広告が含まれています。

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

この記事はunityアセットのPlayMakerのチュートリアル動画をやってみたメモの続きです。

前回の記事はこちら。

使用したunityバージョンは2022.3.6です。

アーカイブをダウンロード
アーカイブをダウンロード
●PRスペース●

〇まゆみマート|BOOTH

BOOTHでVRoidテクスチャやVRChat向けオブジェクトなどを販売しています。いいねしてくれると励みになります(*^-^*)

チュートリアル動画を見ながらやってみる

こちらのチュートリアル動画を見ながらやってみます。

クリックしたらテキストを変えるやつ

ゲームオブジェクト ⇒ UI ⇒ キャンバス でキャンバスを追加する。

unity playmaker canvas UI

キャンバスの上で右クリック、UI ⇒ ボタン でボタンを追加。

unity playmaker canvas UI

なんかテキストメッシュプロのインポート画面が出てきたので入れておく。

上のやつ入れたら下のグレーアウトも消えたので下のも入れました。

unity playmaker canvas UI

ボタンにPlay Makerを仕込んで動かすようにしたいのでボタンを選択しながらAdd FSMを選ぶ。

unity playmaker canvas UI

テキストメッシュプロは対応してないっぽい?

テキストメッシュプロだとエラーが出て動かなかった。

unity playmaker canvas UI

多分unityのバージョンによるんだろうけど、 ゲームオブジェクト ⇒ UI ⇒ 古い機能 ⇒ テキスト で追加できるText(Legacy)ってやつならいけた。

unity playmaker canvas UI

これでテキストが書き変わりましたね。

クリックでテキストを変える

stateを作ってset textを追加、グローバルトランジションでUIクリックを追加する。

UI Clickはここね。

unity playmaker canvas UI

これで動いた!

これもう一度クリックしたら戻す…という動作を実装しようとしたけど、変数を制御するActionを使わないとだめっぽい?

グローバルじゃないトランジションで双方向に遷移させたらオンオフの切り替えができた

グローバルトランジションだとどの状態からでも必ず呼び出されるから、切り替えるならこっちのほうが良いかもしれないですね。

トグル(チェックボックス)でテキストを切り替えるやつ

チェックボックスでbool値のtrueとfalseを切り替えられるみたいです。

キャンバスの上で右クリック、UI⇒トグルを選ぶ。

unity playmaker チェックボックス トグル ブール

トグルにAdd Stateで状態を追加しておく。

unity playmaker チェックボックス トグル ブール

ここが重要なのだけど、チェックボックスをtrueとfalseで切り替えるには、

  • boolを判定するstate
  • trueのstate
  • falseのstate

の三つが必要になるっぽい。

VRChatのUdonノードグラフではBranchを使えば分岐させられたけど、このあたりはモノによって仕様が違いますね。

三つの状態を作っておく。

unity playmaker チェックボックス トグル ブール

判定を行うBool Checkの上で右クリック、グローバルトランジション ⇒ UI Events ⇒ UI BOOL VALUE CHANGED を選ぶ。

unity playmaker チェックボックス トグル ブール

これbool以外にもintやfloatとかもあるから、変数作ってこれで条件分岐させられる感じかな。

分岐させるBool CheckにはGet Event Bool Dataアクションを追加しておく必要があるっぽい。

unity playmaker チェックボックス トグル ブール

ここでもintやfloatのGet命令があるので、整数や浮動小数点の分岐もこれでできると思います。

これで新規変数を作れば制御用のbool変数が作れるっぽい。

unity playmaker チェックボックス トグル ブール

Bool TestアクションでTrueとFalseの分岐を作る

Bool CheckにBool Testアクションを追加して、Bool Variablesにさっき作った変数を割り当てる。

Is TrueとIs Falseにイベントを割り当てることで分岐させられるっぽい。

unity playmaker チェックボックス トグル ブール

これで分岐させれば良いっぽい。

CheckedとUnCheckedにUI Text Set Textアクションを追加して、それぞれtrueとfalseと表示されるようにしておけばOK。

unity playmaker チェックボックス トグル ブール

これで動きました。

trueにならない時の対処法

最初やった時falseにしかならなくなった。

やり直したら直ったんだけど、多分↓ここかな?

true作った時に赤い警告文をクリックするとtrueとfalseの選択肢を出してくれるんだけど、↑でダメだった時は自分でtransitionを作ってやったからダメだったのかもしれない。

↑あとBool Variablesのところにもboolの変数を指定しておくのも忘れすに。

ダメなら最初からやり直したらいけると思います。

つづく

ちょっと長くなりそうだから続く。

これドロップダウンメニューやテキストボックスも作れるっぽいので、ゲーム以外にもunityで動くアプリとか作れそうですね。

まぁそのあたりについては次回の記事で触れます。

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