セルルックキャラクターの顔の陰制御に用いられるShadow Threshold Mapを生成する仕組みについて.
連番二値画像からMapを合成するメイン部分の説明を試みます.
SDFによる補間で Shadow Threshold Map を連番画像から自動生成するツール
— なが (@nagakagachi) 2023年12月5日
をGitHubのSDFツールの中にUPしました.
EUW_GenerateShadowThresholdMap がツール自体.
現状は全画像が等間隔な閾値になります.
合成方法の説明などドキュメントは後で(∩´∀`)∩https://t.co/6GdbEja9o3#UE5 pic.twitter.com/52QUQek23i
アルゴリズム
ここでは最もシンプルと思われるC0連続な合成を考えます.
連番二値画像間の遷移速度をよりなめらかにしたい場合はC1連続となるように合成するのが良いかもしれません.
連番の連続する2枚ずつを処理していきます.
処理対象の連続するペア
SDF生成
二値画像のSDFを計算.
内部側の距離も必要なのでSigned Distance Fieldである必要があります.
SDFを元に遷移率を計算
SDFは境界からの距離を表すため,
SDF_1st / (SDF_1st + SDF_2nd)
を計算することで遷移元から遷移先の境界で 0-1 となるようなグラデーションが得られます.
関連情報
実際の運用等についてはCEDECのHi-Fi RUSH講演や, alweiさんの記事が参考になるかと考えます.
UE5 SDF Face Shadowマッピングでアニメ顔用の影を作ろう - Let's Enjoy Unreal Engine #UE5 #UE5Study https://t.co/7DqBsU1yH1 pic.twitter.com/5J5Fgww4LX
— alwei (@aizen76) 2024年2月28日
unrealengine.hatenablog.com
名称として
Shadow Threshold Map
Face Threshold Map
Face Shadow Map
等ばらつきがあるのがつらいところ...