fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2021年02月 | ARCHIVE-SELECT | 2021年04月

| PAGE-SELECT | NEXT

≫ EDIT

UE4 関数やマクロ、変数を他のブループリント(BP)にコピーする

関数やマクロ、変数を他のブループリント(BP)にコピーする方法です。
※この機能は 4.26 以降で使うことができます。

こちらの記事を参考にさせていただきました。

・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928

記事内で以下のように書かれています。

詳細で設定した内容も一緒にコピーして貼り付けられます。ただ、カテゴリの設定はコピーされない模様です。


というわけでやってみました。

まずはこういったBPを用意しました。
変数や関数をBP間でコピー000
BP_Src と BP_Dst といったコピー元とコピー先という感じで用意しました。

BP_Src の構成はこんな感じに。
変数や関数をBP間でコピー001

BP_Dst の構成はこんな感じに。
変数や関数をBP間でコピー002

まずは BP_Src の関数「FunctionSrc」をコピーします。
変数や関数をBP間でコピー003

その状態で BP_Dst の関数のところで右クリックして「関数を貼り付け」を選択します。
変数や関数をBP間でコピー004

結果はこんな感じに。
変数や関数をBP間でコピー005
無事「FunctionSrc」がコピーされているのがわかります。

マクロは右クリックして「マクロを貼り付け」でコピーできます。
変数や関数をBP間でコピー006

変数は右クリックして「変数を貼り付け」でコピーできます。
変数や関数をBP間でコピー007

全て行った結果がこちら。
変数や関数をBP間でコピー008
BP_Src にあった関数やマクロ、変数がすべて BP_Dst にコピーすることができました。

BP間の関数や変数の移動は、以前だと重複して名称が変わったり、
エラーが多発していたりしていたので、こういった機能が増えていくのは嬉しいですね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 ブループリント(BP)で存在しない関数ノードを張り付けた時に表示されるダイアログ

ブループリント(BP)で存在しない関数ノードを張り付けた時に表示されるダイアログです。
※この機能は 4.26 以降で使うことができます。

こちらの記事を参考にさせていただきました。

・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928

記事内で以下のように書かれています。

不明な関数をBPに貼り付けるとプロンプトが表示される
貼り付けようとしている不明な関数をどう処理するか聞かれます。
下記の選択肢から処理を選んで貼り付けを行います。
何もしない -> 不明な関数のまま貼り付けられます
ブループリントでマッチング関数を作成 -> 関数を自動で作成して貼り付けます
ノードを削除 -> 貼り付けを行いません


というわけでやってみました。

以下のような関数などを持つコピー元のBPと
ノードの貼り付け選択001

以下のような関数などがないコピー先のBPを用意しました。
ノードの貼り付け選択002

コピー元のBPから下記のノードをコピーします。
ノードの貼り付け選択000

コピー先のBPにコピーしたノードを貼り付けます。
するとこんな感じで「セルフコンテキスト関数の参照を修正」ダイアログが表示されます。
ノードの貼り付け選択003
関数ノードの貼り付けでエラーが出る場合に表示されるようです。

「何もしない」を選択するそのまま何もせず貼り付けが行われます。
ノードの貼り付け選択004
なので以前と同じく関数ノードでエラーがでます。

「ブループリントでマッチング関数を作成」を選択すると
こんな感じでエラーがでている関数と同じ関数が自動で作成
されます。
ノードの貼り付け選択006
エラーが解消されていますね。

ただ、この処理は
関数が作成されてエラーが解消されるだけなのでこんな感じで中身は空になるようです。
ノードの貼り付け選択008
ここらへんの挙動は存在しない変数を作成するといった挙動と一緒で
作成するだけのようですね。

「ノードを削除」を選択すると、エラーの出る関数自体が削除されます。
ノードの貼り付け選択005
これはあまり使わないような…?

こういった少し便利になる機能が少しづつ追加されていってるようですね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 子クラスの関数や変数を親クラスに移動する

子クラスの関数や変数を親クラスに移動する方法です。
※この機能は 4.26 以降で使うことができます。

こちらの記事を参考にさせていただきました。

・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928

記事内で以下のように書かれています。

変数 or 関数を右クリック > 親クラスに移動 で移動できます


というわけでやってみました。

まずはこういった親クラスと子クラスを用意しました。
変数や関数を親クラスに移動006

親クラスはこんな感じの構成に。
変数や関数を親クラスに移動000

子クラスはこんな感じの構成に。
変数や関数を親クラスに移動001

子クラスの「Common~」系の関数や変数を親クラスに移動します。

まずは子クラスの関数を右クリックして「親クラスに移動」を選択します。
変数や関数を親クラスに移動003

同じように子クラスの変数を右クリックして「親クラスに移動」を選択します。
変数や関数を親クラスに移動002

すると親クラスに子クラスの関数と変数が移動しました。
親クラスの結果はこんな感じに。
変数や関数を親クラスに移動004
無事「Common~」系の関数と変数が親クラスに移動しているのがわかります。

子クラスの結果はこんな感じに。
変数や関数を親クラスに移動005

BP間の関数や変数の移動は、以前だと重複して名称が変わったり、
エラーが多発していたりしていたので、こういった機能が増えていくのは嬉しいですね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 グリッドを描画するグリッドシェーダーマテリアルアセット「UE4_CustomGridShader」

DM さんが作られた、グリッドを描画するマテリアルアセットです。

材質やグリッドの線の太さや間隔などを調整することができます。

下記からダウンロードすることができます。

・UE4_CustomGridShader
https://github.com/DandyMania/UE4_CustomGridShader

テクスチャ未使用のシェーダーのみのグリッドシェーダー
ワールドの原点を中心に3種類のグリッドラインの線の色・太さ・間隔、背景カラーが設定可能です
テストステージを作成する際などにご活用ください

とのことです。

使い方はこんな感じに。

プロジェクト一式Cloneした後、CustomGridフォルダを同じ階層のまま自分のプロジェクトにコピーするか、 [UE4] 他プロジェクトからアセットを移動させる方法
https://historia.co.jp/archives/275/
などでCustomGridフォルダ以下をお好きなプロジェクトに移動させてください

デフォルトのグリッドからカスタムしたい場合は、CustomGrid/Materials/MT_CustomGrid からマテリアルインスタンスを作成しパラメータを変更してください


プロジェクトも入っているので、そちらで確認するのが早いのですが
とりあえずアセットを自分のプロジェクトに移行して確認してみました。

使い方は簡単で、上記フォルダを移行すると
フォルダの中にあらかじめいくつかのマテリアルが作られています。
グリッドシェーダー001
「MT_~」という名称のマテリアルを割り当てるだけで使うことができます。
簡単で素晴らしいですね!

それ以外にもパラメータをいろいろと変更することが可能なので
お気に入りのグリッドを作って使ってみるとよいかなと思います。
グリッドシェーダー002
こんな感じにパラメータを設定することができます。

パラメータの説明はこんな感じで書かれていました。

BackgroundColor 背景色
GridColorMidele 中くらいの細かさのグリッドの色設定
GridColorNarrow 一番細かいグリッドの色設定。一番下に描かれる
GridColorWide 基準となるグリッドの色設定。一番上に描かれる
Blink 0以外を入れると点滅するようになります。Emissiveの値を0以上にする必要があります。
Emissive Wide/Midele のグリッドのエミッシブカラーの調整用
LineIntervalMiddle グリッドの間隔(中)。※単位はメートルです。
LineIntervalNarrow グリッドの間隔(細) ※単位はメートルです。
LineIntervalWide グリッドの間隔(広) ※単位はメートルです。
LineSizeMiddle グリッド太さ(中)
LineSizeNarrow グリッド太さ(細)
LineSizeWide グリッド太さ(広)
Metallic 1.0に近づくほど金属っぽい表現になります
Roughness 1.0に近づくほどざらざらになります


というわけで使ってみた結果がこちら。
グリッドシェーダー000

こういうのも。
グリッドシェーダー003

移動だったりギミック考えたりと、初期のテストするときにグリッドは重宝しそうなので
こういった機能がすぐ使えるのは助かりますね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 ベクトルの要素の分解と作成(Break Out Float4 Components、Break Out Float2 Components、Break Out Float2 Components、Make Float4、Make Float3、Make Float2)

マテリアルノードについて勉強中ですメモ。
今回はベクトルの要素の分解と作成の方法です。

分解と作成はこれらのノードを使います。
BreakOutFloat000.jpg

ベクトルの分解は以下のノードを使います。
「Break Out Float4 Components」
「Break Out Float3 Components」
「Break Out Float2 Components」


ベクトルの作成は以下のノードを使います。
「Make Float4」
「Make Float3」
「Make Float2」


使い方はこんな感じに。
BreakOutFloat001.jpg

要素を取り出す機会は結構多いと思うので多用しそうですね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 ビューポートのカメラを上面(Top View)や側面(Left View)や前面(Front View)に切り替える(Alt+J、Alt+K、Alt+H、Alt+G)

ビューポートのカメラを上面(Top View)や側面(Left View)や正面(Front View)に切り替える方法です。

こちらを参考にさせていただきました。

・【UE4】UE4Tips120選~勉強会にて配ったTipsカードの内容を一挙公開!~
https://kinnaji.com/2020/02/09/tips120/

Viewportで、「Alt+J」「Alt+J」「Alt+H」
でTop、Left、FrontViewに変えられる。
戻すときは、「Alt+G」

と書かれていました。

※上記説明には「Alt+J」が二つあり、実際は「Alt+J」「Alt+K」「Alt+H」「Alt+G」のようです。

まずはこういったビューがあるとします。
ビューポートのビューの向きを変更000

「Alt + J」で上面(Top View)に切り替えることができます。
ビューポートのビューの向きを変更001

「Alt + K」で側面(Left View)に切り替えることができます。
ビューポートのビューの向きを変更002

「Alt + H」で前面(Front View)に切り替えることができます。
ビューポートのビューの向きを変更003

「Alt + G」で元のビューに戻すことができます。
ビューポートのビューの向きを変更000

使いどころは難しそうですが、何かには使えるのかなと思いました。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 4.26 の機能についての記事やサイトまとめ

4.26 の機能についての記事やサイトをまとめました。
忘れがちなので自分用メモ。

・Unreal Engine 4.26 リリース ノート
https://docs.unrealengine.com/ja/WhatsNew/Builds/ReleaseNotes/4_26/index.html

・ぼっちプログラマのメモ
https://pafuhana1213.hatenablog.com/search?q=4.26

・Let's Enjoy Unreal Engine
https://unrealengine.hatenablog.com/search?q=4.26

・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928

随時更新中。

| UE4 | 23:42 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 コンテンツブラウザ(Content Browser)上から子クラスのアセットを作成する(Create Child Blueprint Class)

コンテンツブラウザ(Content Browser)上から子クラスのアセットを作成する方法です。

こちらを参考にさせていただきました。

・【UE4】UE4Tips120選~勉強会にて配ったTipsカードの内容を一挙公開!~
https://kinnaji.com/2020/02/09/tips120/

Blueprintクラスアセットは、
Content Browser上で右クリック
→「Create Child Blueprint Class」で
子クラスを作成できる

と書かれていました。

まず親クラスとなるアセットを作成します。
コンテンツブラウザで子クラスの作成000
「ParentBP」というアセットを作成しました。

コンテンツブラウザ(Content Browser)上で
次に親クラスとしたいアセットを右クリックしてでるメニューから
「子ブループリントクラスを作成します(Create Child Blueprint Class)」を選択
します。
コンテンツブラウザで子クラスの作成001
黄色くなっているメニューの項目ですね。

そうするとこんな感じに子クラスのアセットが作成されます。
コンテンツブラウザで子クラスの作成002

いつもはBPから設定したのですが、
確かにコンテンツブラウザからできないわけがないよねと思いました!

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 ブループリント(BP)で親クラスの変数を表示する(Show Inherited Variables)

ブループリント(BP)で親クラスの変数を表示する方法です。
これできないと思ってこれまでやってました…。

こちらを参考にさせていただきました。

・【UE4】UE4Tips120選~勉強会にて配ったTipsカードの内容を一挙公開!~
https://kinnaji.com/2020/02/09/tips120/

BlueprintEditorで、親クラスの変数を
表示するには、MyBlueprint右上の
アイコンから「Show Inherited Variables」
を選択する。

と書かれていました。

まずは親のブループリント(BP)を作成します。
親クラスの変数を表示000
変数はこんな感じに。

次に子のブループリント(BP)を作成します。
親クラスの変数を表示001
変数はこんな感じに。

子のBPの親クラスを設定してみましたが
子のBPでの変数表示はこんな感じで特に変わりませんでした。
親クラスの変数を表示001
親クラスの変数は表示されないのがデフォルトの挙動みたいですね。

記事で書かれていることを設定してみました。
マイブループリントの右上にある目のアイコンをクリックして
「継承した変数を表示(Show Inherited Variables)」にチェックをいれます。
親クラスの変数を表示002

するとこんな感じに子のBPで変数が表示されました。
親クラスの変数を表示003
無事親クラスの変数も表示されていますね。

これ知らなかったので不便だなーと思いつつやっていました…。
ちゃんと調べないとだめですね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 PIE(Play In Editor) 実行時にマウスフォーカスをデフォルトで PIE のビューポートにする(Game Gets Mouse Control)

PIE 実行時にビューポートを一度クリックしないと操作ができないといった
マウスフォーカスをデフォルトで PIE ビューポートにする方法です。

こちらを参考にさせていただきました。

・【UE4】UE4Tips120選~勉強会にて配ったTipsカードの内容を一挙公開!~
https://kinnaji.com/2020/02/09/tips120/

PIE開始時に最初からマウスフォーカスを
PIEにあてる場合は、「Editor Preference」
→「Game Gets Mouse Control」を
Trueにする。

と書かれていました。

書かれている通り「エディタの環境設定」の「レベルエディタ」の「プレイ」の中にある
「ゲームでマウスコントロールを取得(Game Gets Mouse Control)」を設定
します。
PIE実行時にフォーカス000
この赤枠の部分ですね。
「ゲームでマウスコントロールを取得(Game Gets Mouse Control)」にチェックをいれる
デフォルトでマウスフォーカスが PIE に実行ウィンドウにいくようになるようです。

こういう TIPS はとても助かりますね。自力で探すのはなかなか難しいですし…。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT | NEXT