Malt
https://gyazo.com/60ecbadc4c2c1e7bb92b83ca3eb2e02a
検索するときはMalt3D
Twitterのハッシュタグも#malt3d
特徴
ノードでやる機能もあって、そっちにカスタムノードを追加することができる
forループをすることができる?
Post-Proseccsingができる
輪郭線が出せる
Pros
Pencilはメッシュの情報を元にやっているのに対してMaltはShader内でやってるため
noise textureなどの色の境界(Pixel単位で)
Cons
ベクターでやってるわけではないのでテクスチャをラインに沿って~みたいなことはできない
↑のサムネみたいにNoiseをベースに太さを制御したりすることはできる
↑のは0と1だけでやってる
など?わりとなんでもできる系だと思う フィードバックもできるのかな…
対応してないこと
Attributeの取得
Face CornerのColor Attributeだけ対応している
Node関連リスト
Float Curve Nodeはない
Color Rampで代用
ドキュメント
メモ
https://gyazo.com/aa3668adc969da5680a95f07d191a009
1 error in preprocessorというエラーが発生したときはひたすらglslファイルをCtrl+Sすれば良い
もしくはHDDドライブに置くのをやめれば解消すると思う
Refraction
色の境界線に線を引くためには、PRE PASS PIXEL SHADER OutputのIDでちゃんと分けることで出せる
つまり、ちゃんと別れているところは別の色が入ってないといけない
AOVみたいに出すためにはMAIN PASS PIXEL SHADER Outputの入力をVec4にする必要がある?
Floatとかはなんか無理っぽかった
RenderもRender LayerもMeshもScreenも全て同じMalt Node Tree Editorで制御する
右上のやつでこのNode GraphはMesh用ですRender用ですっていうのを指定する
ここでは分かりやすくするためにちゃんとRender Graph、Render Layer Graphと呼称します
https://gyazo.com/0106a68252dd06dc8d6198e282597fbc
Render Layer GraphでのMainPassやScreenPassに入力するSceneはPrePassを通ってないと機能しない
ScreenPassはRender Graph内で行うのとRender Layer Graph内で行うのと2種類がある
Sceneのinputもできて直接Z depthを取れたりするのでそっちのほうが良いため、エフェクトつけたりするならRender Layer内の方が好ましい
https://gyazo.com/93384ece9fc3dfc594038c16813f6c8e
Render Graph内でやるのは…うーん WorldのBackgroundとかでしょうか
Pack IDのinput 0のObject IDはNPR DiffuseとかでSelf Shadowかどうかを決めるのとかに使ってるので、そこに何かをinputするのはやめておいた方がいい
Scene Filterを使ってCollectionの名前からSceneを分けることができる
ので、以下のようなことができる
https://gyazo.com/503feed234f222ab65df9daf3a87f280/raw.png
やりたいこと