Blenderを使ってCGで雲を作ってみる その18

皆さんこんにちは武田です。

流れるようなスジ雲は、風の強さが高さで違っているので、基本的に雲粒が落下しながら横にたなびいている…
というのは確からしくて、今日の空もそう見えるような雲があったのですが、

この間見つけて写真を撮った雲、上の方が横に流れて見えるのですが、これはどういう風の流れになってるのでしょうね。単に見る角度の悪戯なのでしょうか。奥が深い…

さて、いままで基本的にモクモクした雲を表現しようとしてきたのですが、
実はずっと共通する不満が1つありました。
「解像度感がどうしても足りない!」というものです。

内部の光の計算をしているので、光の透過する感じや、影の側に光が漏れ伝わっていくような様子は、
パラメーターがふさわしいものになっていればリアルに表現できましたが…
なんだか形状がもっさりしていました。

雲のデータを作成するにしても、細部までけば立ったようなデティールの雲を丸ごと表現するような立体データはとても巨大です。
以前に参考にした、ディズニーの配布している雲ファイルは、フル解像度のものは2.7GB あって、雲一つでそれは嘘だろう…というような膨大さです。
(大作映画作りでは必要かもしれませんが…とても気楽には扱えません)

また、データが細かく細部まであったとしても、レンダリング時間も問題です。
表面さえわかれば良い通常の(透過しない)3DCGと違い、雲内部の光の計算が入ると一気に計算が大変になり、サンプル数をあまり大きくできません。
デノイズ処理などでノイズを取っても、やっぱり細部の細かさが消えてなまってしまいます。

細部の情報量を上げるにはどうすればよいんだ…
というところで、この頃一気にお絵かきAIの存在が表舞台に飛び出てきました。
(得意、不得意はいろいろあるようなのですが、得意な方向では お絵かきAIすごいですね)

ここで、足りない細部のデティールはお絵かきAIに補助してもらえば良いのではないか!
という方向性を模索してみようかと思います。

まずは、街…っぽい四角の集合体を前景にして、雲を配置してみました。

遠目にはそこそこモクモクしているように見えるのですが、
細部に注目すると、何か眠たいような印象で、デティールが足りません。

多分絵であれば「肝心の部分だけデティールアップ」「筆のタッチで情報量アップ」ということになると思うのですが3DCG単体では、そういう手はなかなか使いにくいです。
単純に、普通のアルゴリズム的な後処理加工で、水彩風タッチなどのレタッチをすると…

ちょっと強くかけすぎましたかもしれません。
…まぁ悪くは無いのですが単調な印象はあります。
「ここに細かいデティールがあれば良いな」というようなうまい加減を加えるのが難しいのでしょう。
元の絵自体にデティールが無いわけですからね…

では、この少し眠たい画像をもとに AI に絵を描いてもらいます。
Stable Diffusion の 0.4
このブログを書いている時点で
https://huggingface.co/blog/stable_diffusion
のブログで書かれている物です。

SNSなどで注目を浴びるのは、文章だけからAIに奇麗な絵を出させることができた…!
というものなのですが、それだと(文章である程度の指示は可能とはいえ)構図などもほぼAI任せになってしまいます。
狙った構図で背景にして使いたい…ような場合にはちょっと苦しいですね。

テキストだけから絵を作るのではなく、
Image2Image を使い、指定した画像をもとにAIに絵を描いてもらいます。

使った プロンプトは、photo や photoreal や detailed といった用語や、
sky や cloud や cumulus(積雲) といったような空であることの指示、
そして town や building といった都市であるという指示です。

パラメーターの調整などトライアンドエラーが必要なのですが…
結果として、このような出力になりました。

少なくとも、手前の雲のけば立ちなどは良い感じにデティールが追加されています!
遠くの入道雲などは…悪くはないですが多少怪しいですね。
雲っぽいのですが、こちらもけば立ちして「遠くの大きい雲」感はそんなにありません。
AIは、そういう「立体構造の把握」はできず、学習した絵の特徴を再現しているだけですから、
近くの雲の印象と混ざってしまったのでしょう。

街並みも、それなりにデティールが追加されています。
ただ、よく知られているようにこういう街並みは AI の苦手な分野です。
一見それらしいのですが、細部は微妙に曲がったりうねったりするようで

やや不安な街並みです…
これも、建物の立体構造を把握しているわけではないので、パースの取り方が不安定なのですね。
目的次第で使える場合もある…という感じでしょうか。

Image2ImageでAIに絵を描かせる場合には、
どれぐらいAIに任せるか、どれぐらいAIに制約をかけるか、というあたりを調整するパラメーターがいくつかあります。

これをAI任せに近くすると…

うーん、こいつめ、好き勝手な構図にしやがってという感じですね。
街並みが無いのもあるじゃないか、という。
ただ、プロンプトの指示通り「写真っぽい」雲の雰囲気は良く再現してくれています。
雲の配置の立体構造感は、やはり怪しいところも感じられますね。

実は、逆にAIに対する縛りを強くしても、何となくAIが苦しそうな(?)感じがします。

そもそも「写真っぽい」という指示を出しておきながら「デティールが無い絵」に強く合わせようというわけですから、その辺が喧嘩してしまうのかもしれません。
ほどほどにAIに任せると、良い感じにデティールを追加してくれるような気がします。

さて、パースの整った街並みは苦手…のようなのでもはや空だけ別の背景の書き割としても良いのかもしれません。
プロンプトからも街並み関係を外してシンプルにできますし、AI君も、手前や奥の位置関係でおかしくなることがないので、やりやすいかもしれませんしね。
街並みを一旦隠して作った絵をもとに、空と雲だけをAIで描いてみます。

幾つかトライした後で、なかなか良い目の雰囲気の空ができました。
その空を背景に置いて、もともとの街並みをレンダリングしてみます。

折角なのでもう少し絵の雰囲気に寄せようと、ほんの少し水彩効果を加えてみました。
構図や陰影の具合は維持したままで、弱点だった細部のデティール感が強化されています!
おかげで、適当な街並み側をもう少し何とかしないといけない雰囲気になってきました。
まぁ、四角い模様を置いただけの建物なので仕方がないのですが…!

ということで、工程が増えてしまう(いろんなツールを跨って処理しているので…)ので
ちょっと大変になったという感じがしたのですが、
弱点だったデティールをAIの力を借りて底上げするというのはだいぶ効果的に見えます。
(そもそも、街並みと違って雲のような形はAIが得意としそうな分野な気がしますしね。)
これは良いかもしれない…追及の価値がありそうだ…というところで、続く!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です