3DCG制作:【ZEPETO:10月リリースアイテム】Ecoplant Bag_ジオメトリノードとAI生成の組み合わせ
Oct 27, 2023
はじめに
OpenFashion CGチームの牛山です。
先日、accelerandoから新しいアイテムをZepetoにてリリースしました。
オシャレで環境に優しいボタニカルバッグも!人とAIによる未来のファッションブランド「accelerando.Ai」よりアバターが着用可能な新アイテムが10月10日(火)より販売開始
商品ページ(※Zepetoのアプリが開きます)
今回はこれらのアイテムの中で、バッグをどのようなプロセスで制作したかを解説していきたいと思います。まずは、AIで生成されたコンセプト画像をご覧ください。
コンセプト
「With plants〜植物との共存〜」と名づけられたこのバッグは見た目がオシャレなだけでなく、中に入っている植物が光合成をすることで空気中の二酸化炭素を吸収、酸素を放出するという環境にも配慮されたアイテムです。
AIと3DCGを組み合わせた制作フローは、現在のCG業界ではまだ珍しいアプローチです。今回の記事では、それぞれの強み、そしてまだ克服できていない課題についても詳しく触れていきます。
制作①KaedimによるAIモデリング
ガラスを置き換える
弊社では「Kaedim」を使ってAIによるモデル制作を何回か行っております。
これらの経験からコンセプト画像をそのまま使った場合、ガラスの中の再現が難しいと予測していました。
その対策として、Stable Diffusionを使ってガラスの中だけを別の質感に置き換えてみました。
Soft edgeで輪郭抽出してガラス部分だけ置き換えてみたものの、ディティールが変わってしまったのでボツにしました。
今度はマスクを取り、ガラス部分だけを再生成しました。
これなら生成できるのではないでしょうか。いってみましょう!
AIで生成された3Dモデル
3,4時間後に生成されたモデルがこちらです。
もともとがガラスのバッグであったことを考えたらうまくいったのではないでしょうか!
…と最初見たときは思いました。
画像の通りであるものの、ボディ部分は完全に作り直しですね。
ガラス置き換えで再生成した画像は、シワの入った布地ではなく、アタッシュケースのようなプラスチック素材にしておけば、もっと近しい3Dモデルが生成されたと思います。
他のパーツも、黄色いラインで切ることを考えると、ポリゴン数があまりにも多く調整しづらいので、作り直します…。
Kaedimは役に立ったのか
最終的にはかなりの部分を作り直す羽目になりました。
ハイポリゴンのままであればまだ良いのですが、ローポリにするとなると、Kaedimのモデルはポリゴン数が多すぎるのです。
今回は入力画像を工夫してみましたが、それだけでは部品の構造、パースや膨らみなどが再現できない部分が多いです。
今後は、疑似的な三面図などを使う事でもっと精度を上げられないか検証してみたいと思いました。
CSMのテスト結果
Kaedimと同じようにAIでモデル生成するサービスにCSMもあります。
こちらも以前、弊社で検証したことがあります。
【2D to 3D】CSMを使ってコーディネートアイテムを作ってみる
しかし今回の結果は完全に破綻していました。入力画像の時点で斜めだと難しいかもしれません。
制作②テクスチャのAI生成
さて、外側のモデルはこれで作れました。
バッグの中には植物が生えています。植物には葉っぱや花のテクスチャが必要になってきます。せっかくなので画像生成AIで作ってみましょう。
葉っぱの生成
Stable Diffusion XLを使います。
プロンプト: photorealistic, full body shot of a leaf, top view, facing to camera, black background
出来上がった画像がバラバラなので、もう少しハッキリとシルエットを指定してみます。
ControlNetのScribble/Sketchを使ってみました。
その場で適当にマウスで描いた線をガイドとして、その通りの形状の葉っぱを作ってくれました。
しかし、ぴったり沿いすぎて少し不自然ですね…。
ControlNetの設定を調整しました。
starting control step: 1.0 → 0.4
生成開始時のガイドの影響力を下げるようにしています。
その結果、ガイドに完璧に沿うことなく、それでいてイメージ通りの枝分かれした葉っぱが生成されました。
花の生成
プロンプト: photorealistic, flower, top view, facing to camera, black background,
画面に収まらず、見切れてしまっていますね…。
プロンプト: photorealistic, full body shot of a flower, top view, facing to camera, black background,
full body shotを追加したところ、画面にしっかり収まるようになりました。
black backgroundと指定しているので、Photoshopで簡単に抜きを作ることができます。
少し色調整をすればテクスチャの準備完了です。
制作③ジオメトリノード
これでテクスチャの準備が整ったので、今度は植物のモデルを作ることになります。バッグの中に生えている植物は10や20あります。これを全部、茎や葉っぱの向きなどを調整しながらモデリングするのは至難の業です。
そこでBlenderのジオメトリーノードを使ってみることにします。
ジオメトリーノードは、ノードをつなぐことでユーザーがパラメータでモデルの調整を行うことができます。
この手法は、一般的なモデリングとは異なり、ノーコード、つまりコードを書かないプログラミングに近いアプローチとなっています。
ここでは、①指定されたカーブに沿って、②植物の葉っぱをコピーし、③カーブの開始点から終点までサイズを大きくし、④カーブに沿った方向を向く
という処理を行っています。
その結果、カーブを引くだけで葉っぱがついて、植物のツタのようなものが自動的に生成されるようになります!
またカーブ作成後も、葉っぱの向きやスケール、回転などを調整したり、茎のカーブも自由自在にコントロールしたりと、最後の最後までカスタマイズが可能です。
さきほどAIで生成したテクスチャも、後からいくらでも置き換えが可能です。
まとめ
様々なAI・3Dの技法を組み合わせた制作フローを紹介しました。いかがでしたでしょうか。
ジオメトリーノードの活用により、ユーザーはパラメータでのカスタマイズが可能になります。さらに、テクスチャ生成ではAIの力を借りて、迅速に様々なバリエーションを生み出すことができます。
しかし、2D to 3Dでのモデル生成においては完全にAIに依存するのではなく、入力画像の工夫やモデル生成後の手動調整が欠かせません。実際のところ、ゲーム用の効率的なローポリゴンデータを作成する際には、現状においては一から手動で作った方が早いというのは否めません。
毎月のように新しいAIのサービスが登場しています。それでも、一発で全部AIに任せて完成するようなサービスはなかなか難しいかと思います。
既存の3Dの技法とAIの掛け合わせを試してみる柔軟さやひらめきが大切です。