UE4初心者が頑張ってるブログ

Unreal Engine4を使用した開発メモ、及びそれに関連することについて不定期に書いています。

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ボタンを押します。

f:id:MozPaca:20161121172258p:plain

 

適当な名前を付けます。

f:id:MozPaca:20161121172514p:plain

 

Game Instanceを設定する

次に左上のEditからProject Settingsを開きます。

f:id:MozPaca:20161121172559p:plain

 

左側のProjectのMaps&Modesから

先ほど作成したGame Instanceを選択します。

f:id:MozPaca:20161121172827p:plain

これでGame Instanceを使用する準備ができました。

 

Game Instance内に処理を書いていく

作成したGame Instanceを開くと、このような感じだと思います。

f:id:MozPaca:20161121173804p:plain

 

グローバルに値を持ちたい変数や、

どこでも使いたい関数などを作成します。

 

今回は適当なBool型の変数と

Call Eventと文字を出力するCustom Eventを作成しました。

f:id:MozPaca:20161121174038p:plain

 

ではGame Instanceで作成した変数の値と関数を呼び出してみましょう。

レベルブループリントを開きます。

 

そしてこのように処理を組んでください。

Get Game Instanceは、先ほどProjectSettingsで設定した

Game InstanceがReturnされています。

その値でCastをし、扱いやすいように変数に格納しておきます。

f:id:MozPaca:20161121180320p:plain

 

その下にこんな処理を記述し、Pキーが押された際に

Game Instance内のGrobalFlagをTrueにし出力後、

Grobal Eventを呼び出します。

f:id:MozPaca:20161121180605p:plain

 

実行し、Pキーを押すと

f:id:MozPaca:20161121180746p:plain

GrobalFlagがTrueに変更後、出力。

GrobalEventによってCall Eventと出力されました。

 

Game Instance外のものをグローバルな変数に格納する

あらかじめ作成しておいたWidgetを戻り値に変数を

Game Instance内に作成します。

f:id:MozPaca:20161121180905p:plain

 

このままではまだ変数の中身は空なので、

Widgetブループリント内で自分自身をGame Instanceの変数に格納しましょう。

f:id:MozPaca:20161121181219p:plain

これでこのWidgetの値はGame Instanceを介すことで、

グローバルに扱えるようになりました。

 

今回はWidgetを使用しましたが、

何のコントローラーも持っていない、

おいてあるだけのObjectもグローバルに扱えると思います。

 

ただし、グローバルに扱えるということは

それなりのリスクがあるので注意して使用してください。

UE4 発光するゲージを作ってみる1

もう今更書くこともないようなことですが、
自分用のメモとして残しておくことにしました。

まぁもともとはぎんりゅーさんからの相談がきっかけですが。
(グラデーションのUIって綺麗だよねぇ)

 

今回はグラデーションで誤魔化してみよう編です。
またいろいろやってみます。

 

UE4のバージョンは4.13.2を使用しています。

 

続きを読む

UE4 制限時間をProgress Barで表現する

ミニゲームなど制限時間を使用するゲームは多い気がするのですが、
あまり記事を見かけないと思ったので書くことにしました。

 

右下のゲージが減少していき

f:id:MozPaca:20161024175135p:plain

 

0になると時間切れを知らせるものをつくります。

f:id:MozPaca:20161024175149p:plain

 

参考にしたサイト(見かけないとはいったい...

制限時間の付け方などはこちらの方が詳しく解説してくれています。

pafuhana1213.hatenablog.com

 

準備する

今回はUE4 4.13.1 で作成します。

続きを読む

UE4の4.12.5でアニメーションリターゲットをする

昨日、UE4ユーザーの ぎんりゅ ある方とお話していたのですが、

アニメーションリターゲットの話になりました。

 

もうありふれた話題ではありますが。

UE4 4.12.5 でアニメーションリターゲットを行う

というのをやりたいと思います。 

続きを読む

Unreal Engine 4 Osaka Meetupに参加してきました。

最近はできるだけ色んな勉強会に参加するようにしています。

先日も大阪で行われたUE4Meetupに参加してきました。

(興奮しすぎて写真をとるのも忘れていました)

 

f:id:MozPaca:20160327101957p:plain

 

UE4使いの方々がディスカッションしていた議題と

内容をざっくりとメモっておきたいと思います。

(間違っていたらご指摘いただけると幸いです)

 

議題1 : コミュニティ

・UE4の勉強会が多く行われている

・ブログなどで情報を発信している人が多い

・アメリカでは情報が古くなる可能性があることから

 あまり本を使用しない

など

 

議題2 : VR

・VRエディタについて

 文字はどのように打つのか。

・VR機器の価格について

 高いけどやりたい。

など

 

議題3 : 日本語環境

・ノードのポップアップが日本語対応されたのはうれしい

・カタカナの翻訳が雑

・ドキュメントの日本語対応が早い

など

 

議題4 : こんな機能欲しい

・多人数が使う機能が優先的に対応される

・配列にソート機能が欲しい

・VR上だとprintstringが見えない

・レベルを開かず、そのレベルブループリントを編集したい

など

 

議題5 : 映像業界での活用

(ちょっと会場から出ていたので、聞きそびれました)

 

議題6 : 他エンジンとの比較

(私がUE4しか使っていないのでピンと来なかったです)

(ごめんなさい)

 

議題7 : UE4おすすめ勉強方法

・いきなりゲームをつくるのではなく

 もっと簡単なことから始める

・ハンズオンセミナーを受講してみる

・無料アセットの中を見てみる

・詳しい人に聞くのが1番手っ取り早い

・公式フォーラムを見る

など

 

議題8 : 会場から質問

google card bordの対応について

・教育にUE4を用いることについて

 

こんな感じでした。

内容はかなり濃かったと思います。

私、全部把握できていません。