【UE4】連想配列(Map)と集合(Set)について【★★】

※この記事で使用しているUnrealのVersionは04.26.0です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト 今回は、Unrealの連想配列(Map)と集合(Set)についてのお話です。 その前に前置き。 Blueprintの配列(Array)について レベル【★★】 みなさんブループリントで「配列(Array)」は使ったことあるでしょうか? 配列とは、簡単に言うと同じ型の変数を任意の数格納しておける箱のようなものです。 配列って? 例えば数字を保持する「Integer」という型のArrayですが、通常の場合は保持できる数字の数は1つにな […]

続きを読む

【UE4】メモ:MaterialCustomExpressionノードでIncludeされているush,usfファイルのリストを作成【★★★☆】

※この記事で使用しているUnrealのVersionは04.26.0です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト 【UE4】新しくなったMaterialのCustomノードの使い方 【★★★】 で説明しましたが、Engine内や自作のush,usfファイルを正式にIncludeできるようになりました。 しかしここでちょっとした問題が起こったりもします。 「どのマテリアルでどのシェーダーファイルが使われているかわからない」 ということです。 IncludeはMaterialExpressionCustomNodeで行いますが、それはマテリアル、 […]

続きを読む

【UE4】新しくなったMaterialのCustomノードの使い方 【★★★】

※この記事で使用しているUnrealのVersionは04.26.0です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト 昨今のバージョンアップで、新規追加機能も豊富に増えていますが、既存の機能がさらに強化されるようなことも多くなりました。 今回は、バージョンアップされて最初若干どう使うかわからなかった、MaterialのCustomノードの使い方を軽くですがメモ程度に紹介します。 MaterialのCustomノードを知らない方もいるかと思いますので、その際は以下の記事をまずはご覧ください(先人たちがいっぱい深淵を除いてくれています) 公式ドキュメ […]

続きを読む

【UE4】【C++】メモ:文字列の式を動的に計算する(FMath::Eval)【★★★☆】

※この記事で使用しているUnrealのVersionは04.26.0です。 FMathというクラスに「Eval( FString Str, float& OutValue )」という関数があります。 この関数は、文字列の式を計算してfloatで返してくれるようなものです。 ↓FunctionLibraryに実装してみた。 MyBlueprintFunctionLibrary.h MyBlueprintFunctionLibrary.cpp これをビルドして、適当に指揮を入れてみた結果↓ 1+2+3+4 =10.0 3+4*2-5 =6.0 以上

続きを読む

【UE4】メモ:レベル間をまたいだアクターの参照方法【★★】

※この記事で使用しているUnrealのVersionは04.26.0です。 例えば、適当なPersistentLevelに「A」というレベルと「B」というレベルをサブレベルにぶら下げたとします。 さらに、Actorクラスを継承したBlueprintを作成します。 作成したBPの中に、「Actor(Reference)」の型の変数を作成します。 出来たクラスを、先ほど作成したAというレベルとBというレベルに入れてみます。しかし、ActorReferenceの変数にお互いを入れることはできません。 では、Actorクラス内の変数をActor(SoftObjectReference)にしてみます。 […]

続きを読む

【UE4】【C++】メモ:EditorUtilityなクラスのCallInEditorが表示されない【★★★★】

※この記事で使用しているUnrealのVersionは04.26.0です。 例えば、EditorUtilityWidgetに「DetailViews」Widgetを入れ、そのターゲットオブジェクトにEditorUtilityObjectを生成して入れてあげます。 EditorUtilityObjectのクラスには、「CallInEditor」にチェックを入れた関数を用意します。 しかし、EditorUtilityWidgetを起動しても、CallInEditorを付けた関数のボタンは自動生成されません。 ObjectDetails.cppの この中の110行目のcontinue;をコメントアウ […]

続きを読む

【UE4】【C++】メモ:アニメーションエディターのフレームレート表示について【★★★★】

※この記事で使用しているUnrealのVersionは04.26.0です。 AnimSequenceの場合は、AnimSequenceのフレームレートを参照してTimelineのフレームレートは表示されます。 しかし、AnimMontage,AnimCompositeの場合は、フレームレートに関係なく30fps表示になってしまいます。 AnimModel.cppの55~65行目 に、AnimSequenceのときとそうでないときで処理が分けられているようです。 ここの直値の「30.0」を任意の値に変えると、AnimMontage、AnimCompositeでのTimeline表示が変わります。 […]

続きを読む

【UE4】Blueprintマル秘小細工集~ソースを書かないプランナーがBlueprintでどこまで深淵に至れるか?~【★★★】

※この記事で使用しているUnrealのVersionは04.26.0です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト 皆様お久しぶりです。 Unreal Engine 4 (UE4) Advent Calendar 2020 14日目の記事となります! 昨日は おかずさんの 【UE4】GUIフレームワーク「Dear ImGui」を使ってデバッグ・ツール用UIを作ってみよう! < 導入・基本編 > でした。お手軽に導入出来て色々便利そうでとてもよさそうですね! ということで14日目の記事は、4.26新機能系書こうかと思いましたが、それは […]

続きを読む

【UE4】EditorUtility上のWorldContextについて【★★☆】

※この記事で使用しているUnrealのVersionは04.25.3です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト WorldContextについて レベル【★★☆】 最近いろんな人(プログラマー)から「EditorUtility系のBPとかでWorldContextの取得ってどうやるの?」と聞かれることが多かったため、WorldContextについてここにまとめておきます。 普段Level BlueprintやActor Blueprint内で、例えば「Get All Actors of Class」関数を使うとします。 その際は特に不自由な […]

続きを読む

【UE4】Blueprintだけで、Editor上にメニューを追加する【★★★】

※この記事で使用しているUnrealのVersionは04.25.0 Preview6です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト UE4.24からしれっとエディター上のメニューを作成できる機能を追加されているのに気が付きました。 エディターのメニューを追加したりするのは、「Slate使わないといけないんでしょ…」と自分もやろうと思っていませんでした。 エディター拡張において大変有効的な機能だと思いますので、是非皆さんも参考にしてみてください。 Blueprintだけで、Editor上にメニューを追加する レベル【★★★】 まずは、メニューを […]

続きを読む

【UE4】VariantManagerでレベル上のPropertyを管理しよう【★】

※この記事で使用しているUnrealのVersionは04.25.0 Preview1です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト ※記事で使っているアセットは容量的にもライセンス的にも微妙だったので、記事の内容とは異なったチュートリアルとして作成してあります。 ※今回はラーニングにある「建築インテリアレンダリング」を使用しています。 前置き 4.21からある「Variant Manager」という機能ですが、あまり日本語情報がなさそうだったのと、4.25で改善されているようだったので記事にしてみました。 公式ドキュメント Variant M […]

続きを読む

【UE4】SimulatePhysicsを用いて起伏のある地形へのメッシュ配置をするツールを作る【★★】

※この記事で使用しているUnrealのVersionは04.24.2です。 ※この記事のサンプルプロジェクトは以下URLにアップされています。 サンプルプロジェクト 今回は、以前に「UE4何でも勉強会」で登壇させていただいたときに紹介させていただいた「SimulatePhysicsを用いたメッシュの配置」を行うツール(EditorUtilityWidget)を作成してみたいと思います。※勉強会の資料はこちらにあります。 第4回UE4何でも勉強会 in 東京 お疲れさまでした!~講演資料配布~ ※Editor Utility Widgetにつきましては、以下のリンクを参考にしてください。 Edi […]

続きを読む