SDF Face ShadowマッピングをBlender4.0.2に導入した手順
ことの始まり・・
それは(略
SDFマスク生成用テクスチャ作成
SDFマスクを作成するためには・・
光源の角度ごとで合計9枚のマスク画像が必要とのこと・・
つまり、180÷8=22.5度ごとのマスク画像ですね。
180、157.5、135、112.5、90、67.5、45、22.5、0度・・
このうち、180度は全て影にするので今回は不要・・
従って合計8枚のマスクが必要になります。
参考動画では0度のマスクを省略されていたのですが・・
私は追加で作成しました・・
その場合、後ほど記載の方法で・・
SDFマスク生成ツールの設定を変更します。
まず、Blenderで画像を作成して〝アタリ〟取りです。
対称を有効にし、なるべく綺麗な線を引くため・・
ブラシ設定の〝Stabilize Stroke〟を使いました。
あとはひたすらアンドゥリドゥ♪ですね・・
ちなみに・・
ここで綺麗な線を引く必要はありません。
アタリを取り終わったら、画像を外部保存して・・
Export UV LayoutでUV配置画像を出力して・・
それらを下絵にマスク画像を作るというわけです。
今回、マスク画像の作成にはGIMPを使いました。
この度、使わせて頂くSDFマスク生成ツールの仕様により・・
8bit以下の画像である必要があります。
私はGIMPで一旦BMPで保存したのち・・
かれこれ15年以上の相棒〝JTrim〟で一括変換したのです☻
SDFマスク生成ツールの導入
下記動画の概要欄にDLリンクがあります。
※Googleドライブ
DL時点では〝a〟~〝g.png〟を読み込む設定ですが・・
0度のマスクが欲しいので〝h.png〟を追記しました。
〝run.bat〟と〝run.py〟ファイルをメモ帳的なソフトで開き・・
該当部分を以下のように編集します。
rem 〝run.bat〟
--name="a.png b.png c.png d.png e.png f.png g.png h.png"
# 〝run.py〟 ※g.pngのあとに空白が必要です。
imageNames += "g.png "
imageNames += "h.png"
〝sdf_tool〟の〝images〟ディレクトリに・・
〝a〟~〝h.png〟ファイルを入れて・・
〝run.bat〟を実行すれば・・
SDFマスクである〝sdf.png〟が出来上がります☻
このマスク画像を閾値でコントロールする事により・・
スムーズな影の移り変わりを実現するわけですね・・
Blenderのマテリアルで実装
以下、NPRシェーダーに組み込んだ実装例・・
ドライバに関する設定は割愛させて頂きます。
尚、この実装では参考動画と同じく・・
光源のZ軸のみ対応しております。
(場面によって切り替えることを想定)
参考
この記事が気に入ったらサポートをしてみませんか?