ほびーらいふ

趣味に関すること。ゲームとかUE4とか。あと好きなサービスとか。

UE4のFavorite機能を使うと正にお気に入りという感じでいい感じになった。

Favorite機能

ひさびさに記事を書く。タイトルがなんかあほっぽい。のろうさです。
UE4Favorites機能、使ってますか?
存在自体は知ってるけど使ったことはないという人が多いと思います。自分もその一人でした。
ですが、プロジェクトの規模が大きくなるにつれてフォルダ数は増加して目当てのフォルダに辿りつくのが困難になっていきます。
そんなときに自分のよく使うフォルダをFavorite...つまりお気に入りにしてしまおうというのがFavorites機能です。

使い方

たぶんUE4で行う作業のうち、かなり簡単な部類になります。
BPを組むよりも簡単です。(適当なこと言ってます。)
適当にプロジェクトを作って適当なフォルダを並べてみました。

f:id:norousa:20200414232102p:plain

わぁ…

自分の作業

自分の作業は何か、考えてみましょう。
今回の場合はゲームプレイに必要なレベルと、プレイヤー、シーケンサーを触るとします。
Favoritesに加えたいフォルダの上で右クリック、Add To Favoritesを選択してください。
これでお気に入りに加わります。他にもお気に入りに加えたいものをジャンジャン追加しちゃいましょう。
※追加しすぎると、お気に入りがいっぱい増えて楽しいことになるのですが、視認性が悪くなるので気を付けましょう。

f:id:norousa:20200414232626p:plain

締め

Favoritesを表示するには設定をする必要があります。 コンテンツブラウザ右下のView OptionsからShow FAvoritesにチェックを入れてください。

f:id:norousa:20200414232834p:plain

これだけで素敵なことにお気に入りとして表示されます。わーい。

f:id:norousa:20200414233031p:plain

あとは好きにしてください。
私は好きにした。
おわり。

イベントディスパッチャーを利用したアニメーションブループリントへの値の渡し方

はじめに

この記事は Unreal Engine 4 (UE4) #2 Advent Calendar 2019) 4日目の記事です。

qiita.com

この記事の対象者は最近UE4を触り始めて、アニメーションの切り替えに挑戦している人が対象です。
初心者向けにイベントディスパッチャーを利用したアニメーションブループリントへの値の受け渡しを紹介します。 プロジェクトの規模等では別の方法が良い可能性もあるため、参考に留めておいていただければと思います。

もし間違った情報がありましたら、修正いたしますのでのろうさのTwitterまでご連絡をお願いいたします。

環境について

  • UE4.23.1
  • アニメーションスターターパック

(お持ちでない方はEpic Games Launcher からDLをお願いします。)

アニメーションの切り替え

アニメーションの切り替えにはbool値やenum型等の変数を用います。
サードパーソンのテンプレート や アニメーションスターターパックのアニメーションブループリントを見てみると、イベントグラフ内で切り替えに使用する値を取得していることがわかると思います。

f:id:norousa:20200102035801p:plain
値の取得

個人的にはこの値をイベントディスパッチャーでやりとりするのが好きです。

イベントディスパッチャー

UE4にはイベントディスパッチャーという機能が搭載されております。

この機能はとても便利です。
Aのブループリントで呼び出し→BとCのブループリントで別々の処理を同時に動かす…ことなどができます。
詳細はキンアジさんの記事がとてもわかりやすいのでぜひ読んでみてください!

kinnaji.com

実際にやってみましょう!

以下の画像の処理を、ブループリントに対して書き加えてください。
大事なところは赤丸で囲んでいます。

f:id:norousa:20200123163903p:plain
Third Person Character

次に作成したウィジェットブループリントに対して処理を書きます。

f:id:norousa:20200123163259p:plain
ウィジェットブループリント1

f:id:norousa:20200123164044p:plain
ウィジェットブループリント2

最後にアニメーションスターターパックに付属しているアニメーションブループリントに書き加えます。

f:id:norousa:20200123163515p:plain
アニメーションブループリント1

f:id:norousa:20200123163548p:plain
アニメーションブループリント2

プレイをして問題なければ、右クリックをした際にエイムのアニメーションが再生されるようになります。
また、左下にAim中は Aim On に通常時は Aim Off と表示されるようにもなります。
他にもやりとりの仕方はあるのですが、最近はこの方法がわかりやすい気がし、ほかのブループリントとの兼ね合いでも楽な気がするので紹介しました。

まとめ

これにて終了です。お疲れ様でした。 最後までご覧いただきありがとうございます。

明日はalweiさんUE4 誰でもわかるアウトライン入門 です。

unrealengine.hatenablog.com

パッケージ化時に自動で自作のデバッグ機能をオフにする方法

記事について

今回の記事はデバッグ用で機能追加したものを、shippingでのパッケージ時に無効化する方法です。
記事を探してもあまり見つからなかったので、備忘録を兼ねて書いてみる感じですが、間違えてる可能性は0ではないので、間違ってたらのろうさのTwitterなりで言ってくださると嬉しいです。

経緯

なんとなく新しく何か作ろうと思ってGithubのプライベートリポジトリに新規のプロジェクトを作成したことが発端です。
今回作ろうと思っているゲームでは後々のバランス調整用にデバッグモードみたいなものが作れたらいいなぁと考えています。
普通に組んでしまうとデバッグモードで使用しているノードの接続を切らないと、Shippingでパッケージ化をした際にデバッグモードが有効になったままになってしまう。だからといって、毎回ノードの接続を切っていくのも面倒なので、少しでも楽をしようとした結果がこの記事になります。 要はパッケージ化を押した際にDevelopmentの時はデバッグが使える、Shippingの時はデバッグが使えない状態にと自動で切り替えるようにします。

使用したバージョンなど

  • Unreal Engine 4.21.2
  • サードパーソンテンプレートを使用

やり方

手順1

プロジェクトを作成したらGameInstanceを作成して、プロジェクトと紐づけてください。
GameInstance内に以下のようなブループリントを組みます。

Is Packeged for Distribution は、編集/プロジェクト設定/ パッケージ化/Build Configurationの設定によって結果が変わります。

Development Shipping
False True

手順2

最後にThirdPaersonCharacter内に以下のブループリントを組み込みます。

この例ではキーボードの1キーを押したときにプレイヤーの移動速度を大幅にアップさせています。
実際にパッケージ化をそれぞれで行うと、うまく機能しているのがわかるかと思います。

手順3

今後はBranchの引数にGameInstanceから引っ張ってきたBool値を使用することでパッケージ時のデバッグの切り替え実装が簡単にできるかと思います。

まとめ

以上、だいぶ端折る形になりましたが、これで一通りとなります。
お疲れ様でした。
参考にしたサイト様は以下となります。
kagring.blog.fc2.com