Substanceを使用したハイエンドレンダリングとバイクコンフィギュレーター

はじめまして。Alexey Afanasyevです。香港のAR/VR/XRソフトウエア会社、Visionaries 777のプロダクトビジュアライゼーション主任を務めています。Visionaries 777では、フランスでカスタムバイクを制作するDAB Motors社から最新モデル「LM-S」の仕事を引き受けました。私のインダストリアルデザインの経験とバイクへの並々ならぬ情熱がこの仕事につながりました。私は主にバイクのデザインとリアルなプロダクトビジュアライゼーションに興味があり、リアリズムを追求しています。目指すリアリズムと品質を実現するために真っ先に選んだのは、Substanceのソリューションでした。私は時間をかけてプロダクトビジュアライゼーションのノウハウを集めました。ここでは、様々なやり方がある中で、私たちが実験を繰り返して最終的に選んだ方法を紹介します。

使用ソフトウェア:Blender(モデリングおよびレンダリング)、Substance Painter(テクスチャ作成)、Zbrush(モデリング)、Adobe Premiere Pro(ビデオ編集およびカラーグレーディング)、Adobe Photoshop Lightroom、Photoshop(画像編集およびカラーグレーディング)

プロジェクトの要件

詳細に入る前に、このプロジェクトの要件を説明します。プロジェクトは大きく2つのパートに分かれていますが、最善の結果を得るために並行して作業しています。

クライアントへの納品物の1つ目は、静止画とビデオで、DAB Motorsの公式webサイトやソーシャルメディアプラットフォーム、マーケティング目的で使用されます。これには、ポリゴン数の多いモデル(ハイポリモデル)、つまり実物を再現したモデルを作成する必要がありました。そこで、高い品質とリアリズムを実現するために、Substance Painterを使用して、4Kテクスチャのモデルのテクスチャリングをおこなうことにしました。最終的に、質の高い静止画と動画をレンダリングします。

2つ目の納品物は、WebGLベースの3Dリアルタイムコンフィギュレーターです。これをwebサイトに置いてあらゆるモバイルデバイスやデスクトップデバイスでwebブラウザーからアクセスできるようにすると、ユーザーは色や各パーツ、サスペンション、タイヤのタイプなどを選んでバイクをカスタマイズし、最終的にオンラインで注文できます。

こちらはwebで使用されるものであったため、ポリゴン数の少ないモデル(ローポリモデル)の作成が求められましたが、ビジュアルはハイポリモデルにできるだけ近いものにする必要がありました。ビジュアルの質とパフォーマンスを最適化するには、巧みなベイク処理とテクスチャ作成が不可欠でした。Substance SourceとSubstance Painterを使用したおかげで、かなりの時間を節約しながら最善の結果を得ることができました。

ステップ1 — スキャンと参照

クライアントから提供されたスキャンモデル

プロジェクト開始時に、必要な可視部をほぼ網羅したバイクの3Dスキャンが提供されました。提供されたスキャンは決して悪いものではありませんでしたが、芸術性の高いプロジェクトでは信頼できる画像参照ライブラリが特に重要で、作成の品質を高めるには実物を参照する手順が何より大切です。

実在する物を再現したモデルを作成しようとしているため、テクスチャ作成にも参照は不可欠です。マテリアルは実物とほぼ同じように見える必要があります。

ありがたいことに、DAB Motorsを創設した現CEOのSimon Dabadie氏はとても協力的で、プロジェクトの各段階で必要なアングルをすべて提供してくれました。写真だけではありません。特定のパーツの素材がアルミニウムか、鋼鉄か、チタンか、プラスチックかなどということも教えてくれました。金属の種類によって見た目などの特性が異なるため、このような情報はSubstance Sourceのライブラリでマテリアルを検索するときにとても役に立ちました。

ステップ2 — ハイポリモデリング

これが、このプロジェクトで最も時間のかかる、最も重要な工程です。3Dにあまり詳しくない方のために説明しておくと、バイクのスキャンを手に入れても、それを直接使えるわけではありません。スキャンは、モデルを作るためのベースとなる視覚的、位置的な参照にすぎません。スキャンでは、バイクのパーツ同士の位置関係やバランス、およびモデリングに必要なパーツの形状が示されます。スキャンの質によっては、そのままそれにもとづいてモデリングできることもありますが、スキャンが正確とは限りません。ですから、的確に作業するには参照画像を確認することが重要です。

スキャン画像のトレースプロセス

モデリングのプロセスはどちらかというと単純です。モデリングのほとんどは、BlenderでSub-D技術を使用しておこないました。先に述べたように、スキャンデータをもとに頂点を編集して「トレース」する必要があります。簡単ですが、とても時間のかかる作業です。最も難易度が高いのは、パーツ同士が近過ぎてうまくスキャンされなかったために確認できない部分のモデリングです。このような場合は、参照写真に頼るしかありません。

Sub-Dレベル1を使用した最終的なハイポリモデル(三角ポリゴン数380万)

画像を見るとわかるように、ハンドルバーの部分はまったくスキャンされていなかったため、頼みの綱は参照写真でした。場合によっては、カメラマッピングの手法を用いて様々な写真を立体的に動かすこともありました。そうすることで、パーツの形状を把握しやすくなり、推測を減らしながらモデリングを迅速におこなえます。 このほかに、実際に溶接されているパーツもあります。フレームの金属パイプ公差部や、スイングアーム、エキゾーストパイプなどです。このような溶接部を正確に再現するには、Blenderで作成したハイポリモデルをZbrushに書き出して、ブラシを使って手作業で「溶接」します。Substance Painterで溶接痕を追加するアドオンやブラシを使えば似たような結果が得られますが、手作業の方がよりリアルに見えると思います。

ZBrushでの溶接部のスカルプティング

Sub-Dレベル4の溶接からベイク処理した法線をSub-Dレベル1のモデルに適用する前と後

面を平らに均一化するアドオンを使用して再現しようとしても、それほど効果はありません。手作業の場合、ミスはつきものであるため、溶接面が少しでこぼこしますが、それがヒューマンタッチをプラスします。絶妙な不完全さを意図せず作り出しているのです。CGだと、
当然すべてが完全で幾何学的に正確な仕上がりになります。リアリズムの鍵を握るのは、完全さを手放すことです。

必要なパーツすべてに溶接処理をした最終結果

ステップ3 — ハイポリモデルの最適化

モデルをテクスチャリングとレンダリングに最適化することについて少しお話ししましょう。
モデリングの対象としてのバイクは非常に複雑な物体です。多くの面や多様な形状の管で構成されていることから、ハイポリモデルではポリゴン数が膨大になります。コンピューター資源には限りがあるため、たとえ世界一パワフルなPCを持っていても、最適化をおこなわなければ、避けて通れない問題にどこかでぶつかるでしょう。私がぶつかった問題は、単純明快で、近くまでズームしたときでも、バイクのメッシュをきれいに見せたいというものでした。これを実現するには、サブディビジョンレベルを上げるという方法が最も簡単です。バイク全体のSub-Dレベル1のポリゴン数は合計300~400万です。Sub-Dレベル4でないと満足できないとすると、バイク全体のポリゴン数は2,000万に跳ね上がります。ポリゴン数がこれほど多いと、ビューポートの動作がかなり遅くなってレンダリングに長い時間を要し、ほとんどの場合、モデルを操作するたびに無駄な待ち時間を過ごすことになります。

Sub-Dレベル1と2の品質比較

これを解決する方法は、Sub-Dレベル4のメッシュをSub-Dレベル1のメッシュにベイク処理することでした。この方法は、見栄えを非常に良くするだけでなく、適切なポリゴン数、ビューポートの迅速なレスポンス、レンダリング時間短縮、ローディング時間短縮などを実現します。時間の無駄がなくなる、このことが重要です。

Sub-Dレベル4のベイク処理した法線をSub-Dレベル1モデルに適用する前と後

ステップ4 — ローポリモデルの作成

WebGLベースのコンフィギュレーター用にモデルを作成する場合、当然ながら、ポリゴン数とテクスチャのサイズが大きくなるほどエンドユーザーの読み込みに時間がかかるようになります。Visionaries 777では、WebGLプロジェクトにPlayCanvasを使用しました。モデルをweb用に作成して最適化するとは、見栄えの良さと読み込みの速さを両立させることです。デザイナーやアーティストは、見栄えにこだわり過ぎる傾向があります。そうなる理屈は理解できます。「隅々まで磨き上げて、見栄えがよくなるようたくさん時間をかけたのだから、ユーザーは待ってくれるはずだ」と思っているのです。しかし実際のところ、ユーザーにその理屈は通用しません。読み込みが遅いと、ユーザーは見るのをやめるだけです。どれほどすばらしいものに仕上げていても、見てもらえないのです。モデルに4Kテクスチャを10個追加する前に、本当に必要かよく考えてください。十中八九必要ないはずです。

ローポリモデルを作成するプロセスはかなり簡単でした。Sub-D手法を用いて作成したハイポリモデルが既にあったため、エッジループを削除し、頂点をあちこちにドラッグして、メッシュを整えれば、既存のジオメトリを再利用できました。もちろん、手直しが必要なパーツもありますが、クリーンなジオメトリがベースにあるため、それほど時間はかかりません。

最適化の前と後

ベイク処理した法線マップを適用しなかった/した場合のローポリ

先に述べたように、ローポリモデルでリアルさを出すには、見栄えとパフォーマンスのバランスを取るために多数の巧みなベイク処理が必要でした。繰り返しになりますが、クリーンなハイポリモデルがあれば、法線マップをうまくベイク処理できます。UVを設定したら、あとは法線マップをハイポリモデルからローポリモデルのパーツにベイク処理するだけです。

ただし、例外的にベイク処理に工夫が必要な場合もあります。法線マップをタイル化可能にするとメガバイトの大きな節約になります。その一例として、タイヤのテクスチャを取り上げましょう。テクスチャタイプごとに使用できるUVチャンネルはひとつのみであったため、大きな制約となっていました。サイズを抑えながらタイル化すると繰り返しパターンが作成される一方で、タイヤ全体をアンラップしようとすると、ディテールを保持するために非常に大きなテクスチャが必要になります。

マテリアルのバリエーションが多くない場合は、マテリアルのタイルを何度も使用すればよいのですが、反復作業を避けたければ、解像度とタイリングを賢く使いこなす必要があります。

簡単に言うと、低解像度のベイクと高品質のタイル化可能な法線(鋳造金属のディテールなど)は使用しないということです。この場合も、解像度と品質のバランスを取る必要がありました。

最終的なローポリモデル(三角ポリゴン数はわずか227,000)

ベイク処理した法線マップがある場合とない場合の最終的なローポリモデル

ステップ5 — SUBSTANCE SOURCEのマテリアルの適用

ハイポリモデルが完成に近づいたら、Substance Sourceの様々なマテリアルを試します。Substance Sourceには、製品のテクスチャを作成するために必要なものが用意されています。探しているマテリアルを知っていると、格段に使いやすくなります。例えば、フロントフォークのメインピストンは機械加工の鋼鉄製のため、それを検索すると基本マテリアルがわかります。これらは、シンプルなスライダー操作で外観の特性を様々に変えながら柔軟に編集できます。

バイクのブレーキディスクの実物写真

Substance Sourceライブラリから選択したマテリアル

Substance Painterでハイポリモデルに適用されたブレーキディスクのマテリアルの最終的な外観

Substance Sourceライブラリには、必要なマテリアルとテクスチャがほとんど揃っています。Substance Sourceで見つからないテクスチャやマテリアルがあれば(可能性は低いでしょうが)、既存のプリセットマテリアルを組み合わせて作成できます。あるマテリアルの特定の特徴(レイヤー)をコピーして、新たに作成するマテリアルにペーストすればよいのです。

ステップ6 — SUBSTANCE PAINTERでのハイポリモデルのテクスチャ作成

基本マテリアルの準備が整ったら、摩耗や損傷の効果を追加します。多くのプロジェクトで摩耗や損傷が過度に加えられがちですが、何事にもバランスと細やかさが必要です。ついSubstance Painterで汚れや損傷/風化効果をたくさん加えたくなりますが、かすかに傷がある程度のきれいな状態にすると、リアルに見えます。もちろん表面の損傷を大きくすることが必要なケースもありますが、このプロジェクトでは、バイクは新品に見える必要があるため、損傷や風化はほぼ不要です。

Substance Painterですべてのマテリアルとテクスチャが適用され完成したバイクの最終的な外観

Substance製品は、マテリアルの再利用が簡単であるという点で非常に便利です。汚れやちりなどのレイヤーはジェネレーターで作成されたマスクであるため、簡単に再利用できます。私は必要な風化効果すべてを含むグループを作成して、適用が必要な部分にこのグループをコピー&ペーストするようにしています。この方法だと、かなり時間を節約でき、調整も簡単です。

ステップ7 — ハイからローへのシームレスな移行

ただし、最も便利なのは、レイヤーのセットを後で使えるよう「スマートマテリアル」として保存できる機能です。

このプロジェクトでは、レンダリング用のハイポリとwebコンフィギュレーター用のローポリの2種類のモデルを作ったため、それぞれのテクスチャを一から作成するために時間を無駄にすることがありませんでした。スマートマテリアル機能を使用すれば、複数のプロジェクトでマテリアルを利用できるため、マテリアルを複雑にするときや、複数のプロジェクトで同じ外観を維持したいときに飛躍的に便利になります。マテリアルを将来のプロジェクト用に保持しておくこともでき、再度作成する手間が必要なくなります。スマートマテリアルには非破壊性があるため、ロゴ(タイヤ側面のマークなど)を含むレイヤーでも再利用できます。マッピングの微調整が必要になることもありますが、数秒ででき、Substanceの強力な機能に慣れれば直感的に操作できます。

タイヤのハイポリモデルからローポリモデルへのシームレスなマテリアルの移行

エンジンのハイポリモデルからローポリモデルへのシームレスなマテリアルの移行

Substanceは、様々なカラーチャンネルを使用して複数のテクスチャを単一のテクスチャに統合するという機能も優れています。この機能は、web最適化に応用できます。このプロジェクトではGMAOを使用しています。

完成 — ハイエンドレンダリング

バイクのハイポリモデルの最終レンダリングを下に並べています。静止画とビデオの両方のレンダリングにBlenderを使用しました。この手のショットでは、私は通常、3種類のレイヤーを別々にレンダリングします。この場合、影付きの地面、背景なしのバイク、上のボリュームライトです。これら3つのレイヤーをPhotoshopで組み合わせて細かい調整を加え、Lightroomに送って最終的なカラー補正をしました。

同じプロセスをビデオにも使用しましたが、PhotoshopとLightroomの代わりにPremiere Proを用いました。ビデオは静止画よりもレンダリングに多くの時間を要します。遅いマシンで作業している場合、レンダリング品質の設定には特に注意が必要です。

完成 — WebGLベースのインタラクティブなコンフィギュレーター

最終的に公式webサイトで公開されるコンフィギュレーターでは、ユーザーがモバイル、タブレット、デスクトップデバイスのwebブラウザーで直接バイクを理想の仕様にカスタマイズできます。パーツごとに幅広いカラーバリエーションから選べるほか、サスペンション、タイヤのタイプ、ABSなども選択でき、構成の可能性は無限です。カスタマイズが終わると、選択されたビルドの合計価格と内訳、およびオンラインでの注文手順が表示されます。DAB Motorsに注文が通知されると、カスタムバイクが実際に製造されることになります。

実際に**こちら**でお試しください。

まとめ

総括すると、Substance製品は、非常にわかりやすく直観的に扱えますが、それよりも重要なのは、テクスチャのデザインで様々な操作をすばやく効率的におこなえるという点です。マテリアルやプリセットが非破壊なので、プロジェクトの途中でパーツを非常に簡単に調整できます。後で使えるようスマートマテリアルとして保存できる機能は、大幅な時間の節約につながります。この機能のおかげで、この複雑なプロジェクトの管理が簡単になり、要件がまったく異なる2通りのユースケースをシームレスにつなぐことができ、その結果にとても満足しています。テクスチャの作成をもっと簡単にしたいとお考えの皆さんにお勧めします。

Dab Motors社オーナー兼ヘッドデザイナー、Simon Dabadie氏

「Dab Motorsはカスタマイズとテクノロジーを真髄とし、常にお客様により良いエクスペリエンスを提供することを心がけています。テレビゲームのような簡単な操作でLM-Sをカスタマイズしていただき、お客様の理想のバイクを丁寧にお作りしています。基本的に、これはカスタムバイク版NIKEiDです。LM-Sは、バイク業界初のまったく新しい方法を用いてバスク自治州で設計、組み立てされています。

Visionaries 777が作成したオンライン3Dコンフィギュレーター、Alexeyの手によるリアルな3Dモデル、そしてSubstanceで作成された本物そっくりのテクスチャのおかげで、製品とお客様の新たな関係を築くことができ、マスプロダクションからマスカスタマイゼーションへと移行しつつあります。

この未来型バイク工場では、在庫を持つことなく、直接注文を受けてバイクを製造し、お客様の好みやニーズに応えます。VZ777チームの皆さん、本当にありがとうございました」

画像提供:Visionaries 777 LTD.、作成:** Alexey Afanasyev**