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設定関数をフラットに記述する数が大きく影響 というところまでわかったのでメ…

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

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

DepthPrepass有効時のCoplanar PolygonによるGPU負荷増大 [UE][Rendering]

DepthPrepassレンダリングに関連して, モデルやレベルの作りによってGPU負荷が増大してしまう特殊な状況について説明します. 問題 同一平面で重なり合うポリゴン(Coplanar Polygon)は, 重なりの数だけBasePass PixelShaderが実行される可能性があります.これ…

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

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

InstantNeRFで任意画像から3D再構成をするまでの流れメモ

NVIDIA InstantNeRF (InstantNGP) の環境セットアップと, 自身で用意した画像群を使った3D再構成をするフローのメモ.基本的に公式リポジトリのセットアップ手順そのまま. github.com セットアップ 実行環境 Requirementsのセットアップ CUDA CMAKE Python Py…

3要素ソートのメモ (3element pattern sort)

C++

3要素をパターンでソート. 安定ソートではないことに注意.久しぶりの記事がこれですよ // パターン. constexpr int k_sort_pattern_3[8][3] { {2, 1, 0}, // 000-> 0 {0, 2, 1}, // 001-> 1 {1, 0, 2}, // 010-> 2 {0 ,1, 2}, // 011-> 3 {2, 1, 0}, // 100-…

TextureSampleGradのCustomNode

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

RGB信号の輝度について

そういえば と思って調べたこと.RGBの3次元ベクトルから輝度を計算するときに出てくるあの係数.sRGB色空間の場合 ↑これ これはRGB値をその色空間(↑の場合はsRGB)からXYZ色空間へ変換する変換行列のY座標に関する成分. XYZ色空間のYは輝度と定義されているた…

縮小バッファによる半透明パーティクル描画についてのメモ

縮小バッファに描いたものを合成するというフローによって様々な制限がかかるのだ. Lost Planet METAL GEAR SOLID 4 Tales of ARISE Lost Planet 西川善司の3Dゲームファンのための「ロスト プラネット」グラフィックス講座 シーンカラーとシーンデプスの縮…

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

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

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…

TechBlogリンクメモ

海外ゲームスタジオやR&D系のTechBlog系リンク. Twitterだと後で見るのが不便(以下略). 見つけられたものを列挙しているだけなので選出に特に理由は無い. Activision Amazon Bungie The Coalition Studio Electronic Arts Epic Games Embark Studios Godot G…

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

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

Physics Simulation 資料メモ

Twitterではあとから探すのが大変なためこちらにまとめる. Constraints Derivation for Rigid Body Simulation in 3D Daniel Chappuis, https://danielchappuis.ch/download/ConstraintsDerivationRigidBody3D.pdf 拘束力の定義から丁寧に式変形をしていてわ…

行優先と列優先のはなし(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…

論文メモ Fast Eulerian Fluid Simulation In Games Using Poisson Filters (SCA 2020 Showcase)

www.youtube.com 概要 2次元Euler流体を用いた2.5次元インタラクティブ流体エフェクトに関するShowcase。 圧力Poisson方程式のJacobi法ソルバの反復数を大幅に削減し高速化するPoisson (Separable) Filterを提案。 Poisson Filter 圧力Poisson方程式のJacobi…

Voxel Mesh化手法についてメモ( Voxel Meshing )

SDFなどのVoxelからMeshを生成する手法のメモ。 もとのSDFのセルと、Mesh化で管理されるVoxelは一致しないので注意。 もとのSDFのセル中心を頂点とするようなVoxel上でMesh化が実行される。 Marching Cubes Polygonising a scalar field (Marching Cubes)Vox…

UNREAL FEST EXTREME 2020 SUMMERメモ

メモです 猫でもわかるControl Rig - UE4.25版 - いままでのアニメーションワークフローでは Control RIgなら AnimationBPとちがうの? 使い方 アセット作成 Epic Online Services でできること 全部知ってたらTwinmotionマスター!TwinmotionのぷちTips・テ…

Kd-Treeメモ

Stackless Traversal Stackを使わない木構造の走査. Kd-Tree kd-restart https://graphics.stanford.edu/papers/gpu_kdtree/kdtree.pdf 子ノードのうち始点に近い方の子を先に処理し、leafに到達して処理をしたら tminをtmaxで更新し、tmaxを新たにルートと…

Dreams Engineメモ

Dreams Engineの仕組みについてメモ 講演資料 データ表現 CSG PointCloud レンダリング メモ 講演資料 www.youtube.com http://advances.realtimerendering.com/s2015/AlexEvans_SIGGRAPH-2015-sml.pdf データ表現 CSG アーティストはCSG(Constructive Solid…

Maya Moduleについて

Mayaにおけるツールの配布形態の一つであるModuleについてのメモ。 ツール群を機能やプロダクトでModuleに分けることで最小構成の切り出しなどをやりやすくしたいというハナシ。 Module定義ファイル(.mod) 記法 設定例 test_module.mod Moduleロード設定 そ…

Houdini HDK ビルドメモ (18.0.460)

HDK(C++)のサンプルについてcmakeでVisualStudioプロジェクトを作成してビルドする機会があったのでメモ. 注意:ビルドが成功してdllが作成されるところまでの確認しかしていない(未実行). Houdini 18.0.460 VisualStudio 2017 対象のサンプルは SOP_Star 事…

論文メモ[CARL: Controllable Agent with Reinforcement Learning for Quadruped Locomotion](SIGGRAPH2020)

www.youtube.com Paper Abstract Introduction Proposed Method 関連研究 Paper inventec-ai-center.github.io Abstract 本論文では物理ベース制御アニメーションで駆動するエージェントに対して、ユーザによる制御が可能且つダイナミックな環境に自然に反応…

UE5の発表についてのメモ

In-house Engineでこれと戦わなきゃいけないってマジ?PlayStation5 上で動作している Unreal Engine 5 のデモが発表されたので、この時点で感じたことなど覚えておくためにメモ。目玉は動的GIシステムLumenと微細ジオメトリのレンダリングを実現するNanite…

調べものリンク集

読みたいもの,あとで読み返したいものの雑多なメモカテゴリは結構適当. 適宜更新と整理をする予定. SIGGRAPH Algorithms Distance Transform tree traversal Animation Collision,Traverse Graphics MachineLearning, ArtificialIntelligence Mathematics Ph…

UE4 ComputeShader Write, Material Read (GPGPU)

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