シェーダ

SDF Based Transition Blending for Shadow Threshold Map

セルルックキャラクターの顔の陰制御に用いられるShadow Threshold Mapを生成する仕組みについて. 連番二値画像からMapを合成するメイン部分の説明を試みます.SDFによる補間で Shadow Threshold Map を連番画像から自動生成するツールをGitHubのSDFツールの…

【UE5】Niagara SimulationStageでNormalMapからHeightMapを復元する(Poisson方程式)

img{ display: inline-block; box-sizing: border-box; border: solid 1px #333; } Unreal Engine Advent Calendar 2023 の16日の記事です. Unreal Engine (UE)のカレンダー | Advent Calendar 2023 - Qiita最近HoudiniでNormalMapからHeightMapを復元すると…

Simplex頂点に任意の乱数を利用できるSimplex Noise Custom Node[UE][UE5]

題名の通りです. 個人的な興味により Simplex Noiseの頂点毎の乱数計算 を差し替えられるCustomNodeを作成したので公開.Simplex Noise には以下のShadertoyを参考にしています. thanks! Shader - Shadertoy BETA (XsX3zB) 前置き コピペ用テキスト 前処理Cus…

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

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

UE5 Geometry Script を利用した頂点単位リアルタイムアニメーション

Geometry Scriptの利用の一環で 入力メッシュの頂点インデックスをUV1に埋め込み、外部テクスチャに頂点座標をベイク 上記で生成したメッシュとテクスチャを利用してマテリアルで頂点単位バネアニメーション というものを試してみましたrealtime fake second…

TextureSampleGradのCustomNode

UEのマテリアルでTextureからSampleGradでサンプリングするメモ.これが2021年最後の記事. 良いお年を! CustomNodeの内容 CustomNodeコピペ用 利用例 何に使うの ノードとしてSampleGradが提供されていないようなので、CustomNodeでSampleGrad関数を直接呼ぶ…

UE4マテリアルによるDistanceField生成(Jump Floodingアルゴリズム)

2023/12/16更新 SDF生成ツールをUE5向けに公開しました.SDFテクスチャをテクスチャ2Dから生成するUE5上のツール. 別の作業のために生えてきた. Jump FloodingをGPU(マテリアル)で実行.入力テクスチャは黒かそうでないかで外部/内部扱いしたSDF計算. 出力は R…

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

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

行優先と列優先のはなし(row-major, column-major)

今ひとつ完全理解に至っていなかったので自分の言葉で残しておく 間違ってたら妖精さんが直してくれる(WEB上にたくさんある有用な記事を読んでわかる方は当記事をこれ以上読む必要は無い) Per-Component 算術演算 - Win32 apps | Microsoft Docs 行列の要素…

InstancedStaticMeshとCustomDataとTextureで大量オブジェクト (UE4 Advent Calendar 2020)

UE4 AdventCalendar2020 15日目の記事となります Unreal Engine 4 (UE4) Advent Calendar 2020 - Qiitaサンプルプロジェクトは以下(UE4.26) github.com やりたいこと 仕組みの概要 事前情報 CustomData CanvasObject TextureRenderTarget2Dの準備 InstancedS…

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 周期的なリムエミッシブ

あけましておめでとうございます周期的リムライトで遊んでみたり。グレイマンさんみたいに凹凸が多いと水面の反射みたいになる。後半の球はリム計算用のベクトルを視線ではなくワールド空間ベクトル(この場合は+Z)にして周期的リムのパラメータを変えたとこ…

UE4 マテリアルブループリントでGPUバイトニックソート

多分2018年最後の記事。(思ったほど効果がなかったので温めずに公開)github.comyoutu.be UE4のマテリアルBPでバイトニックソートを作ってみました。 RG32fテクスチャを「R=キー, G=値」の配列に見立ててテクセルを並べ替えます。 GPUパーティクル等でテク…