Substanceテクスチャワークフロー XXX編
- 2. 自己紹介
• もんしょ
• エンジニア
• プログラム、ちょっと出来る
• 『もんしょの巣穴』の管理人
• 絵は描けません
• テクニカルアーティストでもありません
• クライマー
• 趣味で岩登り
• 岩とか苔のテクスチャ素材には事欠かない
• フォトグラメトリも頑張れば出来る
• オススメ
- 9. Substanceマテリアル
• Substanceの中心となるアセットファイル
• .sbs, .sbsarという拡張子のファイル
• .sbsは編集可能なSubstanceマテリアル
• .sbsarはアーカイブされていて編集不可
• 外部に出す場合はこちらを使ったほうがいい
• パラメータを変更するだけで質感に変化を与えることが出来る
• いわゆるプロシージャルアプローチ
• 編集はSubstance Designerを使う
• ノードベースの非破壊マテリアル作成ツール
• 取り込んだ画像も使えるし、ノイズを利用してフルプロシージャルな
マテリアルを作成してもいい
- 10. 本題
• Substanceワークフローはどうすべき?
• これが正解!と言うものはない
• まあ、当たり前ですが…
• 考えなければならないこと
• Substanceを使うことで、これまで以上の成果が出せるのか?
• 学習コストはどの程度か?
• データの管理方法、共有方法は?
• 職能によるワークフローの管理は?
• 背景アートとキャラクタアートでは使い方が異なる
• etc…
• 手探り状態ではどこから手を付けていいのかわからない
• とりあえず事例に学ぼう!
- 12. 事例:Naughty Dogの場合
• Unchartedシリーズの開発会社
• 現在、最も素晴らしい映像を作成するゲーム開発会社の1つ
• Allegorithmicと協力してSubstanceツールへの技術提供などを行ってい
る
• テクスチャワークフローの構築にAllegorithmicの協力を受けている
• (多分)世界で最もSubstanceを使いこなしている
• 最新作『Uncharted 4』では大半のテクスチャがSubstanceで作
成された
• プロップ類はすべて
• キャラクタでも7割くらい使ってるとか
• 今回の話は背景アートのもの
- 14. 事例:Naughty Dogの場合
• 使用しているツールは?
• DesignerとPainter
• 背景の環境系はほぼDesigner
• 背景プロップはPainter併用
• 基本的な使い方は?
• Naughty Dogがリファレンスとなるモデルとマテリアルを作成
• マテリアルはDesignerで
• 外注先にリファレンスとツールを渡して作成してもらう
• 納品形式は厳密に決まっていて、承認はNDのアーティストが行う
• 承認後の責任はNDが持つ。承認後のリテイクはなし
• .sbsarで納品してもらうが、Base Materialにすべて繋いでもらう
• 量産は基本的に外注
- 15. 事例:Naughty Dogの場合
• 教育方法は?
• 疑問に思ったら、それについて得意な人に聞きに行く
• NDでは聞きに行く→教えるというプロセスが当たり前に存在する
• Painterは2~3時間くらい教えて放置しておけば勝手に出来るようにな
る
• Designerは何人かで集まって自作品を披露したりする時間を設ける
• 忙しくなければ定期的に
• 外注の教育は出張して教える
• 何日間かみっちり教える
- 16. 事例:Naughty Dogの場合
• マテリアルライブラリの構築方法
• Substanceマテリアルのライブラリについては不明
• スマートマテリアル、スマートマスクのライブラリは単純な管理方法
• ネットワークマシンの共有フォルダに皆でコピーする形だった
• 特にバージョン管理システムは導入していない
• 共有フォルダのマテリアルを取得するかどうかは自由
• 更新するかどうかも自由
• 他人が作ったものをいじったりするルールについては不明
• 最終的なスマートマテリアルは60、スマートマスクは40~60
• 単純な機能だけで作った
• 複雑な処理は組み合わせとパラメータ調整で対応
• 多く作りすぎたり、1つが複雑すぎたりは混乱の元
- 17. 事例:Naughty Dogの場合
• Naughty Dogのワークフローの肝
• なんでも出来るNDアーティストの力
• ND内の背景アーティストは15名前後
• 全員テクニカルアーティスト
• しかもなんでも出来る
• モデリング、テクスチャリング、リグや物理のセットアップ、etc.
• 外部の会社との強い結びつき
• Allegorithmicとの協力関係
• 外注スタジオへのバックアップ
• 教育
• ツール提供
• あくまでも参考程度にとどめておくほうがいいのでは?
• 割とマネ出来ない…
- 18. 事例:UBIの場合
• 『Rainbow Six:Seige』の事例
• 実に98%のテクスチャをSubstanceで作成している
• www.youtube.com/watch?v=alTudAbJXGk
• PainterとDesignerを併用
• プロップ、小物、キャラクタはPainterがメイン
• 背景用のタイリングテクスチャはDesignerメイン
• 当初はPhotoshopを使っていた
• とてもじゃないけど無理なのでSubstanceを導入した
- 20. 事例:UBIの場合
• 実際にどう使われたのか?
• UBIとは別の会社の人の話
• 正確ではないかも
• スタートはフォトスキャンライブラリ
• UBIは巨大なフォトスキャンライブラリを持っていた
• 当初はこれをPhotoshopで加工しようとしていた
• フォトスキャンテクスチャを取り込んだSubstanceマテリアルを作成
• 合成や加工はこれを元に行っていた
• Substanceマテリアルの9割くらいはこれ
• 残り1割はフルプロシージャル
- 22. 事例:UBIの場合
• 『Ghost Recon : Wildlands』の事例
• RainbowSixと同様のTom Clancyシリーズ
• オープンワールドの広大なマップで犯罪組織を撲滅するのが目的のTPS
• 使用ツールはDesignerとPlayer
• 開発開始が4年前
• このときにはPainterが存在しなかったため
• これからの開発では使っていく予定
• https://www.allegorithmic.com/blog/ghost-recon-wildlands-
user-story-substance
- 24. 事例:UBIの場合
• Substance自体は前作から使用済み
• 『Ghost Recon : Future Soldier』(2012)
• Substanceの経験は十分だが、物量をこなすには工夫が必要
• Substance Playerでテクスチャを出力
• DesignerでPBRマテリアルを作成
• はっきりした形状はZbrushでスカルプトして作成
• ベースの形状やテクスチャはZbrushなどによる手作り
• ここで得られたハイトマップを元にSubstanceマテリアルを作成
• 背景アーティストはパラメータを調整して出力するだけ
- 25. 事例:UBIの場合
• Metalizer
• 金属小物用のDesignerノード
• 複数のマテリアルをレイヤーで設定し、形状から求めたマスクを利用
して調整できる
• 使い方
• ハイポリモデルとローポリモデルを作成
• Substance BatchToolsを利用して形状に関するマップを生成
• マスクの“種”としてこれらのマップを利用する
• .sbsでMetalizerとマップを合わせて調整可能なようにする
• アーティストは.sbsをPlayerで読み込んで調整
• モデルに変更があっても基本バッチを叩くだけで即調整可能
- 26. 事例:UBIの場合
• 自動マスク
• Painterのスマートマスク的な機能を自作
• Substance Engineを組み込んで実現
• ベイクしたマップ(Curvatureなど)を元に調整可能
• テンプレート化して再利用
• アセットが変更されてもボタン一発でテクスチャの再生成が出来る
• Make It Tile
• デフォルトであるMake It Tile Patchを元に作成
• マスクした部分を消し去ってタイル画像を作れる
• 草地から石をマスクで取り除いてタイリングとか
- 27. 事例:UBIの場合
• Substance Playerを使った理由
• Designerでも同じことが出来るが、アーティストの習得時間がなかっ
た
• Playerはパラメータ調整しかできないので、すぐに誰でも使える
• 今ならPainterを使うんじゃないかな?
• Substanceワークフローを浸透させるのに苦労した
• 製作速度はよくなるけど、品質低下するんじゃないの?という声
• 数回のクリックとパラメータ調整で手調整のテクスチャと同じ品質を
出して黙らせた
- 28. 事例:UBIの場合
• Substance Playerワークフローの利点
• 品質を一定に保ちやすい
• Painterだと品質にバラつきが発生する可能性がある
• 自動化しやすい
• モデルやマテリアルに変更があってもボタン一発で対応できる事が多い
• 調整が容易
• パラメータ調整くらいしか出来ない
• 欠点
• 品質を一定に保ちやすい
• マテリアルの品質が低いと、低い品質で一定化してしまう
• TAの負担が大きい
• マテリアル作成がほぼTAに一任される
• Painterの方が微調整しやすい
- 29. 事例:Interceptor Entertainmentの場
合
• インディーゲームを開発している会社
• デンマークの会社
• UE4を使ってSide-Scrollerアクションゲームを作成中
• 『RAD RODGERS』でのSubstance事例
• https://www.allegorithmic.com/blog/rad-rodgers-using-substance-
designer-style
• StylizedなテクスチャをSubstance Designerで作成
• 初期はPhotoshopで手描き
• 現在はSubstance併用
- 31. 事例:Interceptor Entertainmentの場
合
• 背景でSubstance Desingerを使用
• キャラクタは不明
• カメラは横からの視点のみ
• モデリング等もそれを意識している
• 地面のテクスチャはDesigner大活躍
• Stylizedなテクスチャも簡単に作れる
• スカルプトしたような木のテクスチャもDesigner
• Allegorithmicのブログでどう作ってるのかある程度わかる
• Stylizedなゲームを作るなら参考になるかも
- 34. 事例:キャラクタアーティストの場合
• 肌はFill Layer基本
• ベースの肌色に化粧をするようにFill Layerを乗せていく
• 基本ペイントレイヤーは使わない
• レイヤーはシンプルなカラーで作成
• 服は既存のスマートマテリアルを極力使う
• レザーはスマートマテリアルにHeightチャンネルだけ別枠で乗せたも
のが基本
• あとは傷とか
• 麻布の服もHeightチャンネルだけ特別
• 写真からタイリングされたHeightマップだけ作成し、これを利用
- 37. 誰がどのツールを使うのか?
• 全員がSubstance Packを持つべき?
• 不要
• ただし、B2Mだけいらない、というのであればPackの方がお得
• テクニカルアーティストの方
• Packを持っておくべき
• 背景アーティストの方
• Designerのみでも最悪OK
• プロップ類を作成する場合はPack
• PainterのMaterial Layering機能は今後使えるかも?
• キャラクタアーティストの方
• PainterのみでもOK
• VFXアーティストの方
• Designer持ってると幸せになれるかも?
- 40. 背景アーティスト
• Substance Packをアーティスト分だけ購入できない!
• Substance Desinger+Subsntance Player
• 一部のアーティストがDesingerでマテリアル作成
• 他の人はPlayerでパラメータ調整のみ
• タイラブルテクスチャやプロップでも使用可能なワークフロー
• 限定的ではあるが、品質を保ちやすい
• 重い仕事が一部アーティストに集中する可能性が高い
• その他のアーティストがDesignerを覚える機会が失われる
- 46. まとめ
• 学習のしやすさ
• 特にSubstance Painterは学習の入り口として優秀
• インディー版なら個人でも購入しやすい価格
• 機能制限がないのが特に嬉しい
• チュートリアルが豊富
• 動画やGumroadなどのストア
• ただし、ほとんど英語
• ゲーム用途での事例の多さ
• 海外ではAAAからインディーゲームまで幅広く使用されている
• 最近は日本でも使われている
• 今後は日本での事例も多く発表されるかも?
- 49. 懸念点
• データベース構築の基本
• Substanceマテリアルは単一機能に留める
• レンガならレンガのみ、木材なら木材のみ
• 複雑なマテリアルは作成しない
• ホラーゲーム用にフローリングの床に血をばらまける
• 複数の金属素材を選択できる単一Substanceマテリアル
• フォトリアルとノンフォトリアルを切り替えできる
• これらはNO!
• マスクを出力するようにしておく
• レンガの継ぎ目部分などでマスクも出力できるようにしておく
• 利用者がマスクを利用してマテリアルレイヤリング可能
• 形状に基づくので変化にも強い
- 50. 懸念点
• Substance Painterのデータがすごく重くなる
• 数レイヤーのマテリアルでも数百MBのデータが出来上がる
• モデルデータ、マテリアルデータ、画像データもプロジェクトに保存される
• バージョン管理するとサーバを圧迫
• 「圧迫祭り」よッ!興奮してきたわッ!
• バージョン管理ツールの種類によってはほんとにサーバがやばい
• Subversionとか履歴が消せないので…
• もう確定した変更されない部分をマージする機能とかあればいいかも?
• Painterの動作も軽くなりそうだし
• [File]→[Cleanup]で使ってないリソースを削れる
• 場合によってはかなり小さくなる
• 何か情報がある方はこっそり教えてもらえないでしょうか?
- 51. SPファイルサイズ検証
番号 プロジェクト ファイルサイズ(バイト) 備考
0 初期状態 19,857,608 ポリ数2500、マテリアル数4
1 ベイク 1,697,216,312 サイズ4k、合計24枚
2 1+フィルレイヤー追加 1,697,216,312 単色カラー1つ
3 1+ペイントレイヤー追加 1,698,859,776 ストローク1回
4 1+ペイントストローク10回 1,698,990,848
5 1+マテリアル追加x4 1,748,233,864 マテリアル種別により増減
6 1+スマートマテリアル追加x4 1,715,061,544 マテリアル種別により増減
7 1+マテリアル追加x1 1,698,662,448 マテリアル種別により増減
8 7+マテリアル追加x1+マスク
エディタx1
1,700,641,192 マテリアル種別により増減
9 1+再ベイク 1,705,542,920 Curvatureの設定のみ変更
Editor's Notes
- ここでSubsntaceマテリアルの例を見せる。
- Base Materialはどういうものか、SDを起動してみてもらう
- 同一フォルダ内のハイポリモデルとローポリモデルから自動的に形状に関するマップ(AO、Curvature、Positionなど)を出力
Metalizerはそれらをマスクの“種”として利用し、調整できるようになっている