UnrealC++

UE5.2でC++プロジェクトのビルド時間が増加した問題の対処 [UE][UE5.2]

UE5.1からUE5.2へアップデートしてから, C++プロジェクトのビルド時間が5倍以上に増えて困った.ソースコードを色々書き換えて調べたところ, GlobalShader派生クラスへのSRV, UAV設定関数をフラットに記述する数が大きく影響 というところまでわかったのでメ…

TextureArrayに対して実行可能なDrawMaterialToRenderTargetプラグイン[UE][Plugin]

TextureRenderTarget2DArray のSlice(配列の要素)を指定して DrawMaterialToRenderTarget ができるUEプラグインの公開. これは何 導入 リポジトリの NglTextureRt2dArrayUtil をコピー プラグインが読み込まれているか確認 サンプル 最後 これは何 テクスチ…

MainViewのViewportSizeとカメラ位置,カメラ姿勢の取得

UE4.27で確認 // Get Current View Info (EditorMode, PlayMode). auto GetCurrentViewportInfo = [](const UWorld* world, FVector2D& out_viewport_size, FVector& out_view_location, FQuat& out_view_quat) { if (!world) return; #if WITH_EDITOR if (w…

ProjectRoot直下のShadersディレクトリをShaderIncludePathに追加するだけのPlugin [UE4]

これはなに 置き場所 使い方 エラーメッセージ 参考資料 これはなに プロジェクトルート/Shaders をUEのShaderIncludePathに自動追加するプラグイン. UE4.25辺りからマテリアルのCustomノードで Include File Paths を指定して外部シェーダファイルをインク…

UE4 ComputeShader Write, Material Read (GPGPU)

エンジンバージョン:4.24 (4.25がリリースされたら対応予定) はじめに サンプルコード 説明 RWテクスチャ定義 RWテクスチャのUAV生成 ComputeShaderによるRWテクスチャへの書き込み RWテクスチャのマテリアルでの利用 サンプルコードの概要 ComputeShaderで…

UE4 ComputeShaderでMeshの頂点バッファをリアルタイム書き換えする (GPGPU)

エンジンバージョン:4.22, 4.23 諸事情によりサンプルプロジェクト無しUE4のProceduralMeshのようなことをComputeShaderでできたら、大量の頂点をリアルタイムに操作できて面白いのではないかという思い付き。 今回はたくさんの草をリアルタイムに生成する目…

UE4 翻訳メモ Mesh Drawing Pipeline Conversion Guide for Unreal Engine 4.22

4.22で大幅に変更されたらしいメッシュ描画パイプラインのドキュメントをGoogle翻訳先生の力を借りて翻訳しつつメモdocs.unrealengine.comより詳細は docs.unrealengine.com や www.youtube.com を参照 Introduction Unreal Engine(UE4)4.22リリースでは、…

UE4 TArrayのSetNumZeroedふるまいメモ

UE4.20.2UE4のCodePluginでTArrayを多用していていつもSetNumZeroedの挙動を忘れるのでメモ TArray::SetNumZeroed(NewSize, bAllowShrinking) SetNumZeroed()によって要素数が増える場合 ゼロ値要素が末尾に付加される。元の要素は変化しない。 TArray<float> testA</float>…