【Unityアセット】Game Creator -④UI編-
はじめに
「Game Creator」はUnityアセットストアにて購入できる有料アセットです。
3Dゲーム製作に便利なツールで、ビジュアルスクリプティングでコードを書かずにゲームを製作することができます。
今回このブログでご紹介するのはGame Creatorの無印版で、
2021年9月にGame Creator2がリリースされています。
2021年9月時点ではベータ版であり、拡張モジュールとの互換性はまだ無い様なのでご注意ください。
環境
記事内での環境は以下の通りです。
Unity 2020.3.5f1 Personal
Game Creator Version 1.1.13 May 18,2021
UIについて
Game CreatorではUIでもアクションやVariablesをわかりやすく使える様に用意されています。
Actionsとも連携すれば非常に使いやすくなっています。
Game Creator独自のUIコンポーネントが適用されたオブジェクトもヒエラルキーなどから生成できます。
Input Field
テキストなどを入力するInput Fieldです。
生成した段階でコンポーネントなどは付いており、基本の形が出来ています。
このまま再生するとクリックして文字が入力できる状態になっています。
※確認した次第ではInput Fieldでは全角の入力は対応していなさそうでした。もしできる設定がありそうでしたら引き続き確認してみようと思います。
例えばVriablesにてstring型の変数を作っておき、
Input Fieldコンポーネント下部のVariableに設定すれば、
ゲーム内で入力した値が変数に格納されます。
Slider
スライダーにもGame Creator独自のSliderコンポーネントが付与されています。
こちらも下部のVariableにNumber型の変数をGlobal Variableで用意したりすると設定することができます。
例えばスライダーで音量を変更したい場合、
PreferencesにてNumberタイプのVolume変数を用意します。
そしてSliderコンポーネント内で変数を設定します。
これでスライダーを変化させるとVolume変数とSliderのValueが連動して、
Volumeの値が変化します。
このVolume変数を使って音量を変化させるにはTriggerでActionを実行する必要があります。
TriggerにOn Variable Changeというのがあるので選択し、
Volume変数を設定します。
これでVolume変数の値に変化あった瞬間をトリガーが検知し続けてアクションを実行します。
このトリガーにActionを追加して、
ActionにChange Volumeがあるので、ValueにVolume変数を適用します。
これでPlay Musicアクションで再生していたBGMの音量が、
スライダーを調整すると変化します。
Toggle
Toggleはチェックボックスになっているので、
boolタイプの変数などで切り替えるのに使えます。
Variableにboolタイプの変数を設定して再生し、チェックボックスをクリックすると
trueとfalseが切り替わります。
Interractableのチェックを外すと切り替えになりました。
Text
TextもVariableに対応しています。
上部にあるVariableのところに先程Input Fieldの説明の際に使ったInput変数を設定してみます。
このまま再生して、Input Fieldで文字列を入力してみます。
上にTextを配置していますが、文字列が反映されていますね。
Fomatの部分で{0}の部分が変数の値を反映します。
Variable:を消してもいいですし、名前などしてもいいと思います。
Button
Buttonは分かりやすく、今までと同じ様にAdd Actionでアクションを追加して、
クリックした際の処理を設定できます。
オブジェクトとして配置するので、他のオブジェクトもアタッチしてあげることができますし、
変数をクリックしたときに変化させて、それをトリガーにアクションを起こす、
などもできます。
まとめ
基本的なUIについてご紹介しました。
仕組みを理解すれば様々なパターンに応用したりできます。
今回のような実装もコードを1行も書いていないので慣れるとすごく早いです。
ちなみに、
よろしければ全てこのGame Creatorでコードを使わずに製作したゲームを
Unity1weekの「ちゅう」のお題で提出していたものがあるので
改めてみると改善点色々ありますが、参考までにみていただけると幸いです笑
こちら↓
「energy soul」
https://unityroom.com/games/energysoul
それでは💤