UE4でSubstance使う
地味に今回使ってなかったのでメモ
まずランチャーでSubstanceプラグインを探してきてインストールする、4.8と4.9に対応
インストール終わった後にプロジェクトを開いて、Edit > Pluginsを開いてインストールされてるのが確認できる、4.5とかの時もっとめんどくさかったゾ…
あとはsbsarをコンテンツブラウザに突っ込むだけで使えるようになる
Importするときに、デフォルトのままで良いんだけど、チェックを外してUE4でどうやって使っていくかも確認していく
まず一番上のチェック、create default instanceを外してImportする、そうするとSubstance Instance Factoryっていう形式のファイルがインポートされる、これはそのままだと何にも使えなくて、ここからインスタンスを作成する必要がある
Substance Instance Factoryを右クリックすると、create graph instanceというところがあるので、そこを選択するとインスタンスを作成するgraphの一覧が表示される
Designerのソースファイルに複数のグラフがあった時、多分ここで複数のgraphが表示されるはず、目当てのgraphを選択すると再度import optionsが開く、create materialにチェックが入っているので外して生成する
そうすると、graph名_INST という substance graph instanceと graph_名_INST_Basecolor(Outputの数だけ)という2つ(以上)のファイルが生成される、前者のsubstance graph instanceで、自分でエクスポーズしたパラーメータを設定できる。後者はOUTPUTで、コンテンツブラウザだとSubstance Texture 2Dという、DesignerのOutputの数だけUE4で扱える画像の形で出てきている。substance graph instanceのパラメーターを変更すると、これに対応したOutput全てが更新される、後はこのOutputの画像からマテリアルを作成して、それをUE4で扱う形になる
普通に最初のcreate default instanceにチェックを入れておけばここまで一気に生成してくれるので、それを使えばいい
だいたいImportの方法はわかったけど、例えばスポーンしたキャラクターごとにシード値変えたいみたいな時、UE4のダイナミックマテリアルインスタンスからsubstanceにアクセスできたら嬉しいみたいなのがあるので調べてみる