UE4 GameInstanceでグローバルに値を扱う
Game Instanceについて書きます。
今更解説もいらないシリーズ1です。
Game Instanceはレベルを跨いで値を保持するために使用するものです。
詳しい説明は
UE4 レベルを跨いで値を保持するGameInstanceについて - Let's Enjoy Unreal Engine
Game Instance, Custom Game Instance For Inter-Level Persistent Data Storage - Epic Wiki
に載っているのでそちらを参照してください。
ではやっていきます。
今回のUE4のバージョンは4.14.0です。
Game Instanceを作成する
プロジェクト作成後、Game Instanceのブループリントを作成します。
一番下にあるAll Classesに「Game Instance」と入力し、
Game Instanceを選択、Selectボタンを押します。
適当な名前を付けます。
Game Instanceを設定する
次に左上のEditからProject Settingsを開きます。
左側のProjectのMaps&Modesから
先ほど作成したGame Instanceを選択します。
これでGame Instanceを使用する準備ができました。
Game Instance内に処理を書いていく
作成したGame Instanceを開くと、このような感じだと思います。
グローバルに値を持ちたい変数や、
どこでも使いたい関数などを作成します。
今回は適当なBool型の変数と
Call Eventと文字を出力するCustom Eventを作成しました。
ではGame Instanceで作成した変数の値と関数を呼び出してみましょう。
レベルブループリントを開きます。
そしてこのように処理を組んでください。
Get Game Instanceは、先ほどProjectSettingsで設定した
Game InstanceがReturnされています。
その値でCastをし、扱いやすいように変数に格納しておきます。
その下にこんな処理を記述し、Pキーが押された際に
Game Instance内のGrobalFlagをTrueにし出力後、
Grobal Eventを呼び出します。
実行し、Pキーを押すと
GrobalFlagがTrueに変更後、出力。
GrobalEventによってCall Eventと出力されました。
Game Instance外のものをグローバルな変数に格納する
あらかじめ作成しておいたWidgetを戻り値に変数を
Game Instance内に作成します。
このままではまだ変数の中身は空なので、
Widgetブループリント内で自分自身をGame Instanceの変数に格納しましょう。
これでこのWidgetの値はGame Instanceを介すことで、
グローバルに扱えるようになりました。
今回はWidgetを使用しましたが、
何のコントローラーも持っていない、
おいてあるだけのObjectもグローバルに扱えると思います。
ただし、グローバルに扱えるということは
それなりのリスクがあるので注意して使用してください。
UE4 発光するゲージを作ってみる1
もう今更書くこともないようなことですが、
自分用のメモとして残しておくことにしました。
まぁもともとはぎんりゅーさんからの相談がきっかけですが。
(グラデーションのUIって綺麗だよねぇ)
今回はグラデーションで誤魔化してみよう編です。
またいろいろやってみます。
UE4のバージョンは4.13.2を使用しています。
続きを読む
UE4 制限時間をProgress Barで表現する
UE4の4.12.5でアニメーションリターゲットをする
昨日、UE4ユーザーの ぎんりゅ ある方とお話していたのですが、
アニメーションリターゲットの話になりました。
もうありふれた話題ではありますが。
UE4 4.12.5 でアニメーションリターゲットを行う
というのをやりたいと思います。
続きを読むUnreal Engine 4 Osaka Meetupに参加してきました。
最近はできるだけ色んな勉強会に参加するようにしています。
先日も大阪で行われたUE4Meetupに参加してきました。
(興奮しすぎて写真をとるのも忘れていました)
UE4使いの方々がディスカッションしていた議題と
内容をざっくりとメモっておきたいと思います。
(間違っていたらご指摘いただけると幸いです)
議題1 : コミュニティ
・UE4の勉強会が多く行われている
・ブログなどで情報を発信している人が多い
・アメリカでは情報が古くなる可能性があることから
あまり本を使用しない
など
議題2 : VR
・VRエディタについて
文字はどのように打つのか。
・VR機器の価格について
高いけどやりたい。
など
議題3 : 日本語環境
・ノードのポップアップが日本語対応されたのはうれしい
・カタカナの翻訳が雑
・ドキュメントの日本語対応が早い
など
議題4 : こんな機能欲しい
・多人数が使う機能が優先的に対応される
・配列にソート機能が欲しい
・VR上だとprintstringが見えない
・レベルを開かず、そのレベルブループリントを編集したい
など
議題5 : 映像業界での活用
(ちょっと会場から出ていたので、聞きそびれました)
議題6 : 他エンジンとの比較
(私がUE4しか使っていないのでピンと来なかったです)
(ごめんなさい)
議題7 : UE4おすすめ勉強方法
・いきなりゲームをつくるのではなく
もっと簡単なことから始める
・ハンズオンセミナーを受講してみる
・無料アセットの中を見てみる
・詳しい人に聞くのが1番手っ取り早い
・公式フォーラムを見る
など
議題8 : 会場から質問
・google card bordの対応について
・教育にUE4を用いることについて
こんな感じでした。
内容はかなり濃かったと思います。
私、全部把握できていません。