Tag Archives: Cycles

長年のあの疑問を一気に解決する日が来ましたよ!

《こちらは2018年 Blender Advent Calender 参加記事です》

さて、気になるタイトルですね。
私にとって十数年のあいだ気になっていた疑問が、今年になって溶けたことがあったのです。
今まで様々なレンダラーを使用してきましたが、いわゆる『物理的に正確』と言われるものが持っている表現上のある死角について、ずっと気になっていました。

それは、ガラスの表現です。
コースティクスの話ではありません。コースティクスについてはもうレンダラーの作りの問題ですので、気にしても仕方がありません。
(良いフェイクの方法も各種ありますし)
もっと基本的なことです。

こんな画像、見たことがありますか?

ad01

スザンヌでしょ? それが何か?

じゃなくて、質感です。スザンヌはガラス、奥のシリンダーはグロッシーなメタルです。でも、何かがおかしいと思いませんか?

そう、スザンヌの中の黒ずみはまだガラスだから納得いきそうな部分があるとしても、シリンダーの側面にある真っ黒い部分はおかしくありませんか?

周囲は物理スカイで囲まれており、真っ黒な場所など全くありません。金属反射の中に真っ黒なものがある理由はないはずです。

この現象、CyclesだけではなくMaxwell Renderなどでも起こります。ずっと忘れていたのですが、先日たまたま困っている人がいたことで思い出して、ガラスシェーダーのことをWEBで調べていました。すると、Cyclesシェーダーの不具合じゃないかと(過去に)海外で話題になっていたものを見つけたり、「ガラスの表現がどうしても上手くいかない」と嘆いている人を見つけたりしました。

そこで言われていた解決法は、従来型のレイトレーサーにおけるガラス表現の向上法でした。

つまり、

「透過のレイを出来る限り増やせ」

「レイが届かない時の色(=エンドカラー)を設定せよ」というもの。

グリーングラスなどの場合、エンドカラーを深緑や環境色に設定することで透過の屈折が足りない部分を誤魔化すことが出来ますが、Cyclesでは少々シェーダーノードに手を入れないとエンドカラーの設定は出来ません(それを解説をしている人もいましたが、私には少々ハードルが高いものでした)。それより何より、「Lightpaths」「Transparency」をやたらと増やしたり、「Glossy」のバウンスを増やしたりしても、この黒ずみに対する改善効果はないのです!
「Glossy」のバウンス数を100以上、150程度まで上げると黒ずみが解消されます。レンダリング時間にもさほど影響はないようです。下記の方法も有効ですが、簡単に黒ずみを解消する方法として、Glossyの値を大きく増やすのが良いでしょう。《2020年11月追記》

それに、問題が起こるのは透過だけでなく、メタルの質感も同様なのです。そこにはまた別の問題と解決方法が、あるはずなのです。

──そろそろ勿体ぶるのはやめますか(笑

15年ほど前にSubdivisionサーフェスが登場して以来、CGにおける滑らかな形状の表現は飛躍的に向上しました。ただ、それと並行して従来の法線スムージングによる疑似的な滑らかさの表現もそのまま残りました。それは当然ですよね。ゲームなどのリアルタイムCGでは様々な再生端末やネットワーク帯域上のボトルネックもあり、ポリゴン数を少なく抑える方がいいという事情に変わりはないのですから。

そこで、法線スムージングの問題が起こることになったわけだと思います。

要するに、次の画像と同じ(全く同じではありませんが)問題が、Cyclesのレンダリングでも起こるわけです。

ローポリオブジェクトの法線をスムーズシェーディング
ローポリオブジェクトの法線をスムーズシェーディング。シリンダー天面の奥が不自然に黒ずんでいます。

先ほどのレンダリング画像は、シリンダーをスムージングした上で「EdgeSplit」モディファイアを掛けることでエッジを立てています。「EdgeSplit」を外すと次のような結果が待っていることは、誰でも想像が付くことですね。

ad02

シリンダー天面のエッジが消え、無理やりスムーズシェーディングを掛けた結果として、《現実世界ではあり得ない黒ずみ》が発生しています。マテリアルをガラスにしていると、

「光が屈折しあって暗くなる領域があるのだからそんなものか」と考えてしまいがちですが、この現象と同じだったのですね。

ad03

少し実験をしてみましたので、結果を報告しますね。

スザンヌやシリンダーのようなソリッド形状ではなく、ワイングラスです。

WO_denoise_2048sample_FG1_21min

 

画像の中の文字は判別出来ますでしょうか。センターの手前、青い文字で説明を書いているグラスが、ほぼ理想的な見え方です。曲面に厚みがあって複雑な屈折をする部分では黒っぽい部分がわずかにあり、それ以外には不自然な要素はありません。

フラットシェーディングになっているのはもう2つ、後列のものです。左はポリゴンではなくカーブを回転体にしたもの。右はポリゴンです。どちらも面の角は目立ってしまいますが、明らかに不自然な黒ずみはありません。手前の左右にあるスムーズシェーディングの2つは、トップ部分が妙に黒ずんでいます。

2脚だけをアップでレンダリングしてみました。左右ともスムーズシェーディングを掛けた状態にしています。

ad04
コースティクスがオンなので、サンプル数が足りないのはご容赦くださいませ

どちらのグラスも見た目の曲面は十分にきれいですが、実際のポリゴン数は右の方が遥かに多いものです。もう1つ、見て下さい。次は、左右で同じポリゴン数でシェーディングのみの違いです。黒ずみはどうなるでしょう?

ad05

ね、同じ条件だと違いが顕著ですね。さすがにカットガラスでもない限りフラットシェーディングでは絵になりませんが、グラスの表現で黒ずみを抑えたかったら、嘘のシェーディングをなくす、つまり、実際の法線とシェーディングによって滑らかにされる法線の角度を出来る近づけることです。もっと簡単にいえば、法線スムージングで作られる滑らかな面と同じくらい滑らかにポリゴンを分割することです。

【改めて結論】

・ガラスの黒ずみは透過のレイが足りないのではない。ましてやエンドカラーを設定しても意味はない。原因は、実際の面法線とは異なるスムーズシェーディングによる法線にある。
足りないのはGlossyのレイ。ただし、ちょっとばかり増やしても効果はない。形状によるが、ワイングラスのようなものなら150程度にすると劇的に改善する《2020年11月追記》

 

【具体的な解決方法】

・面を分割すること、これに尽きる。Subdivision Surfaceを掛けられるオブジェクトなら、レンダリング時に 独立した面法線が判別出来ない程度に細かくSubdivisionすること、です。

最後に、スザンヌ(Subdivision=4、スムーズシェーディング)とシリンダー(曲面の分割=256面、フラットシェーディング)をレンダリングしたものをどうぞ。

ad06
いずれも十分にきれいですね!

 

これでもう、

「ガラスがどうしても黒くなる!」

なんていう悩みで眠れないことはなくなりますね!

皆さまの制作に、少しでもご参考になれば幸いでございます。


あ、そうそう、これはもう偶然の賜物としか言いようがないのですが、私の著書である『Blender99 きっと絶対に挫折しない3DCG入門』のシリーズ最終巻が、ちょうど12/9発売なのですよ!

いや、もう本当に狙ってませんから。偶然の一致です。

当ブログ記事は12/9になると同時の公開ですが、Blender99は12/9の陽が暮れる頃に発売されるのではないかと思います……。

じゃ、今日はこんなところで!

!!!!! Happpppy Blending !!!!!


Blender Advent Calender 2018、次はgotz_zampachさんの『コンポジットノードは怖くない!小学校数学と実践VFXで基本から理解!』です。

(あ、これちょうどBlender99の最終巻でも少し触れている内容と近いかもしれません……。)

可愛くなきゃだめですか?

先日たまたま、CG関連の方との会話を辿って和牛先生という有名なCG講師の方のTwitterアカウントに行き着きました。
Blenderのマニュアル本を(紙で)出版している方なのですが、プロフィールをたどったらAmazonへのリンクに行き着いたので、踏んでみて驚きました。

そこには、僕が昨年購入したポストカード絵本が掲載されていたのです。
当時は、これがBlenderで作られたものだなんて考えもしなかったのに!


ミニチュアの写真?
いや、CGと写真の合成かな?
くらいに思ったけど、深く考えることもなかったのですね。

うーん、甘い甘い。
よーく見ていれば、これがフルCGであることは分かったはずですし、著者名から検索すればBlender作品であることも分かったはずですから!

まあ、そこで今回の僕は考えたわけです。

こういうの、自分も作りたいなあ……と。
もともと、Kindleで電子書籍を作る時に、マニュアルの中に絵本などの作り方の説明があって、ずっと気になっていたのです。

これまでにいろいろとCGの絵を作っていますから、それらを集めた画集を作るのもいいなあと。
前述のもののようにストーリー性というか、それぞれの絵の関連性は低いですが。

そこで、妻にちょっと言ってみたところ、
「えぐいからねえ」と一言。

「あ」

ダメですかね?
可愛くないと、受けないですかね?

グロい絵が好きなひとがいれば、ひたすらかっちょいい絵が好きなひともいますよね。
まあ、僕のはいずれでもない……。

可愛くもない、グロくもない、かっちょよくもない……

「えぐい……」

そんなこんなで、今、CG画集を作るべくちょこちょこ過去のデータを再レンダリングしたりして、手を入れています。

どうですかね、
──可愛くなきゃ、ダメですか?

新雑誌に参加してますっ!

もう知ってる人は知っている、新SF雑誌が創刊されます。
その名も『現実以外 -オルタニア-』

創刊が決まった頃に編集部さんからお誘いを受けて、二つ返事で参加を決めました。面白そうですもんね、メンバーが強力だし。
でも、実は参加している僕自身も、この「現実以外」ってのと「オルタニア」の関係がよく判っていなかったりします。

第2号が出る時に「現実以外」って付くかどうかで、合わせて一つのタイトルなのか、創刊号のサブタイトルが「現実以外」なのかが判るというふうに思ってます。
まあ、編集長に聞けばいいんですが(笑

で、最近は絡むところ絡むところ、つい動画を作ったりしてるわけで、今回もやっちゃいました。しかも2つ。
もちろん、CGの制作はBlenderです。
バックの宇宙については先日の記事に《超簡単な作り方》を書いた通りですね!

まずはこれ、ティーザー広告として、ちら見せ用で作りました。
ロゴが英語のバージョンです。

それから、情報解禁後にもう少し内容をプラスしたのがこちら。
ロゴが日本語になっています。

まあ、内容はあんまり変わらないんですけど。
最初のトレーラーで興味を持ってくれた方は、次のを見て「おぉっ」と思ってくれるかなあ、と。
(《豪華執筆陣》っていうのは、僕以外の皆さんのことですよ、あくまでも。悪魔デモ……)

ちなみに、このかっちょいいロゴは、山田佳江さんのデザインです。
もちろん、雑誌にも執筆なさってます。
山田さんといえばインディーズ界の人気作家さんですが、本職は映像&デザイン屋さん。《いーブックデザイン》という名前で電子書籍用の各種素材やデザインをいっぱいフリー公開しています。さすが、本職です。
こちらも注目ですね〜。

せっかくですからここで参加メンバーのことをちょっと書いておきましょ。

編集長はあの、隙間社さんです。看板作家のおひとりである伊藤なむあひさんの短編も掲載されてますよ!
それから、『オルガニゼーション』シリーズや『ストラタジェム;ニードレスリーフ』の波野發作さん
『プリンセス・プラスチック』で有名なプロ作家の米田淳一さんも参加しています。
そしてそして、創刊号の特別ゲストとして、あの大滝瓶太氏!
(これはすごい。波野さんが大滝氏を招へいした編集長を褒めてたりしてましたw)

そしてもう一人、謎の人物が参加しているそうです。
こちらはまだシークレット状態で、僕も知らないんですよね……。
どうやら、こちらもかなりの有名人らしいです。楽しみですねえ!

創刊は「10月くらい」とのこと。まだ曖昧のようです。
僕自身の原稿はもう上げてるんですが、校正がまだ途中、という感じです。

未完成の掲載作品をちょっとだけ読ませていただきましたが、面白いですよ〜。
粒ぞろいです、まじで!

と、いうことで、本日はこれまで!


Cyclesの影に色を付ける

ツイッターを見てくださってるBlender好きなひとにはもうお分かりかと思いますが……

先日、漫画家の藤原佑介さんがつぶやいてらして、ちょっと興味を持ったんですよね。

僕の場合、Cyclesでレンダリングするのは
「フォトリアルの表現をしたい場合」と、「アンリアルにしたい場合」の二通り。

こんなですね。

なつかしいな、これ。4年くらい前の画像だ……
なつかしいな、これ。4年くらい前の画像だ……

アンリアルの場合は、こんな。

知る人ぞ知る「とろろ姫のテーマ」のPVですねw
知る人ぞ知る「とろろ姫のテーマ」のPVですねw

で、この中間というのをあまり考えたことがなかったんですよね。
まあ、このへんは別として。

これの制作は、ちょっとずつ進んでます……
これの制作は、ちょっとずつ進んでます……

リアルにしたい場合は、Cyclesは物理系のレンダラーなので自動的に影に色がつきます。環境からの反射光に応じて、影にも色が乗るわけです。
例えば物理スカイを使った屋外シーンであれば、影にはちゃんと空の青味が入ります。
逆に、アンリアルなものの場合は、そもそもレンダリング時間を早くするためというのが一つの目的だったりするので、影を使わなかったりします。
アンビエント・オクルージョンで間に合わせれば充分だったり、接地感の悪さをごまかすためには上の画像のようにへんなリフレクションを入れたり、とか……で。

で、影に色を付けたいというつぶやきを読んで、僕もちょっと調べてみたんですよね。
そんなフェイクがCyclesで出来るのかな? と思いながら。

結論を言えば、簡単に出来ました。
今のところ分かっている方法でいえば、やり方は二通り。

一つは、マテリアルをいじる方法。
もう一つは、レンダリング結果に対してコンポジットでいじる方法。
どちらもシンプルです。

それぞれのノードセッティングと、簡単な解説を載せますね。

Shadow Rayの濃度をマスクにして、ディフューズからーに透明色を乗っけると考えると分かりやすい。
「Shadow Rayの濃度をマスクにして、ディフューズカラーに透明色を乗っける」と考えると分かりやすい。
上の設定でのレンダリング結果。
上の設定でのレンダリング結果。

要は、マテリアルの出口にMix Shaderを追加して、もとのMaterialにTransparent Shaderの色を乗っけるわけですね。それが合成される度合いを、Shadow Rayで調整する。ということです。

さて、このLight Pathノードですが、たくさんアウトプットが並んでいます。いろいろと試してみたくなるのが男心というもので……。

試してみて面白かったのがこの二つ。

Ray DepthをFactorに接続すると、影だけではなくて周囲にも色の影響が出る。より自然な感じがする?
Ray DepthをFactorに接続すると、影だけではなくてオブジェクトにも色の影響が出るので、より自然な感じがする?
Ray Lengthを接続。これは不思議な感じ。擬似コースティクスを生成するのに使えるかも!
Ray Lengthを接続。これは不思議な感じ。擬似コースティクスを生成するのに使えるかも!

マテリアル・ノード、いろいろいじっていると面白いですね。

では次、コンポジットで行なう方法です。

事前にレンダー設定内の「pass」でShadowにチェックを入れておくことが必要です。レンダリングされた影の要素に、Color Rampで着色します。
事前にレンダー設定内の「pass」でShadowにチェックを入れておくことが必要です。レンダリングされた影の要素に、Color Rampで着色します。

オブジェクトのシャドウ側にも色が着くので、リアリティに勝ります。しかも、レンダー後にいくらでも変更できる。
オブジェクトのシャドウ側にも色が着くので、リアリティに勝ります。しかも、レンダー後にいくらでも変更できるのが面白い。影の色だけアニメーションさせるとかも。

道のりは長そうだけど、いろいろ面白い効果が狙えるかも。

ぜんぜんコースティクス風にはならなかったけど、ね。
ぜんぜんコースティクス風にはならなかったけど、ね。

何かの参考になれば……。

じゃ、また明晩!

Blender:NPRのちょっとしたヒントに

final

ども、淡波です。

Blenderの習熟度で言えばまだまだ素人の域を出ないのですが、むりやり(w)仕事でも使っている関係上、結構いろいろ試してみたりはしています。

先週のブログ記事『今週の一枚:ん? なんか見たことあるような……』で、あるアニメーションを作っているということを書きました。

ある方から引き継いだBlenderのデータにアニメーションをつけていて、レンダリング時間を短縮するために様々なチューニングを施しているのですが、もし、Blenderをお使いの方が読んでいたら、きっと興味を持っていただけたのだろうなあ……と思い、今回の記事を書くことにしました。

さて、NPRってなんでしょ?
から、ですね。

CGをやっていると、「写真みたいにリアルにする」ことが一つの目的だったりします。NPRというのはその正反対で、ノン・フォトリアリスティック・レンダリング、つまり、「写真みたいじゃない画像化」ということです。

この『とろろ姫の歌』のPVもそうですね。こちらは平面のアニメ調ですが。
 

さて、今回最初にいただいたデータも、どちらかというとNPR系のマテリアル設定になっていました。レンダリング時間を短くするため、反射や透過などの処理は一切省き、ディフューズカラー(=拡散反射色)のみの設定です。こういった設定だと、「写真みたいじゃない」というか、人形劇っぽい感じになります。光沢のない塗料で人形を塗った感じで、ある意味リアルになるんですよね。

さて、その状態でレンダリングした画像がこれ。
レンダリング時間は約1分50秒です(core i7 dual Macbook pro)。
ノイズをある程度減らさなければならないので、サンプル数は100です。これでも、ちょっと絵がノイジーですよね。

先週より一人増えてますね。進行してる、という主張だったりして。

そして、今回チューニング済みのレンダリング結果がこれ。
レンダリング時間は約5秒で、実に22倍に高速化しています。サンプル数はたったの4です。
Cyclesレンダラーを使用していますが、これならInternalレンダラーと全く遜色のない計算時間ですね。むしろ速いくらい?

4s96

 

普通なら、ノイズだらけで見られたものではありませんが、こちらの画像だと、むしろオリジナル状態のレンダリングよりノイズが少ないですよね。

もちろん、オリジナルの自然な光の感じはまったくありませんし、雰囲気もかなり壊れています。でも、アニメーションを作る以上、レンダリングにかかる時間は最も大事な要素のひとつです。4,000フレームを100秒レンダリングすると、実に111時間もかかります。個人で、しかも「お手伝いで」作るCGのレベルではありません……!

雰囲気については手法を変えることで逆にプラスできる部分もあります。地面や山、背中のタンクなどは、面白い感じになっていると思います。しかも、絵はこれで完成ではありません。こちらをもとにしてコンポジットを行なった画像が冒頭にあげたもの。コンポジットのレンダリングにかかる時間は約1秒です。もちろん、オリジナル版を使う場合もそのまま完成ではなく何らかのコンポジットが必要なので、この時間は同程度ということになるでしょう。

好みはありますが、これはオリジナルの作者からもオッケーを貰いましたし、NPRのレンダリングとしては面白いものになったのではないでしょうか。

さて、前置きが長くなりましたが、本題です。

【超スピーディーにレンダリングが終わるNPRなんだけどちょっとリアルっぽいシェーダー】

タイトルも長いですね……。

ではまず、手前の人物の肌シェーダーを見てみましょう。

画像は幅2Kを超えていますが、プレビューレンダリングはなんと0.81秒です(左側の表示参照)。

この設定のミソは、基本となるシェーダーにすべてエミッション(発光)シェーダーを使っていることです。発光させれば光を受けませんので、GI計算は不要です。影も不要です。

だから、レンダリングの設定も、Light Pathsの値にすべてゼロを入れています。普通では考えられませんよね。

render
これぞ究極のレンダリング設定(?)

 

では、シェーダーの内容を簡単に解説しましょう。すべてエミッターなのに、ちゃんと立体感がありますよね。ノード・ツリーの左端に注目すると、「Geometry」ノードがあり、それが「Seperate RGB」に接続されています。
そう、先日恵比寿で開かれたBlendxJPに出ていた方はご存知の、「ノーマル」を使って上下の色を塗りわけるテクニックを使っています。
形状から面の向きの情報を拾い、その下向きの面にはちょっと暗めの肌色シェーダーを、それ以外には明るめの肌色シェーダーを当てています。
この二つが、Mix Shaderで混ぜられています。そして、何となく輪郭線らしきものを出すために、その先にはこげ茶色のエミッションシェーダーが合成され、ています。FacにFresnel(フレネル値)がインプットされているので、Fresnel値で制限された部分にだけこげ茶色が現われます。IOR(屈折率)が1.0未満だと、色の境目にグラデーションがつかず、塗り分けたようになります。0.95〜0.99くらいの範囲にあると、輪郭線のような効果が出ます。曲率と太さが比例するので、小さなオブジェクト(指など)ではほとんど線が見えないのが弱点で、逆に大きな面が同じ方向を向いていると、ベタ塗りになってしまう欠点もあります。

ゲームで良く使われる裏ポリテクニックを使った方が線は均等できれいかとは思いますが、この方法ならデータ量が倍になるのを避けられます。Freestyleの線は美しいですが、レンダリング時間が増えてしまいますし(「トロロ姫」は超ローポリなのでFreestyleを使っています)。

ちょっとFresnel値を変えたものを見比べてみましょう。

フレネル値=0.90
フレネル値=0.90
フレネル値=0.95
フレネル値=0.95
フレネル値=0.99
フレネル値=0.99

使いようによって、面白い効果を出せそうですよね。

今回は肌を例に取りましたが、どのシェーダーもほぼ同じ作りです。
もう一つ、ちょっと違うものを見てみましょう。地面のシェーダーです。水っぽい球を置いてみました。

このシーンの中で最も重いシェーダーです。
このシーンの中で最も重いシェーダーです。

まず、基本色の茶色です。左上ですね。
2色のエミッション・シェーダーを使ってFresnelで混ぜています。カメラから遠ざかる(角度が付くと)と明るい色になるようにして、距離感を出しています。
散在する岩と水球を見ると、地面への反射があります。反射の他にも地面への影のようなものがあります。不思議ですね。普通に考えると、発光している地面に影が落ちるはずはありません。

そこで活躍するのが、図中オレンジ色の枠で示したアンビエント・オクルージョン・シェーダーです。環境から遮へいされている部分に疑似的な影を落とすものですね。これは少々レンダリング時間を増大させますが、あるとないのではオブジェクトの接地感がまるで違いますから、ここは我慢です。
このアンビエント・オクルージョン・シェーダーも、単色だと地面の色をのっぺりさせてしまうので、2色に塗り分けて、地面の基本色と同じFresnelノードをつなぎます。

その先に繋がっているのが、反射を出すGlossyシェーダーです。あまりにもツルツルにすると反射がわざとらしくなりますし、反射をぼけさせ過ぎると、きれいに見せるためのレンダリング時間が増大します。映り方が自然になるようにRoughnessの値を調整し、これも遠ざかると自然に消えるようFresnel値で制御します。

さて、いかがだったでしょうか?

ちょっとまとめてみます。

・BlenderのNPRレンダリングは、実はCyclesでも素早くレンダリングできる
・基本シェーダーを全てEmissionにすることでノイズレスになる
・GI不要、レンダリング設定の値は全てゼロでOK
・立体感は形状のノーマルをうまく利用して出せる
・地面への影はアンビエント・オクルージョンで出す

■注意点です。
 全てが同値で発光しているので互いに影響を与えませんが、一つでも発光しないシェーダーがあると、それが光を受けてしまい、突然そこだけおかしな見栄えになりますし、ノイズが増えるので結果としてレンダリング時間が増大します。

僕の経験上、このやり方を使えばInternalレンダラーよりも速くレンダリング計算を行なわせることが出来ると思います。
シェーディング画面のキャプチャ動画とは異なり、DOFを調整できる(遠くをぼかせる)、反射を入れられる(しかもぼかせる)、という表現上の利点があります。

もちろん、OpenGLレンダリングでその中間の表現を目指す方法もあるのでしょうが、そこはまだ僕には未知の領域で(笑

また、進行状況を報告しますね。

では、今回はこれまで!

今週の一枚:ん? なんか見たことあるような……

C_whole_2500
○○さん

 

と、釣りタイトルにしてしまいましたが、まあ、見たことのある人はまずいないのかなぁとも思います。

実はコレ、ある方からデータをいただいてコラボ制作中の作品です(その方が制作途中のものを一回だけツイートしたみたいなので……)。
だいたいのモデリングと質感設定が済んだものを僕が再調整し、アニメーションを付けて、映像作品になる予定です。

最初にいただいた状態でも独特の雰囲気があってきれいな質感だったのですが、レンダリング時間があまりにかかってしまうため、僕の方でチューニングを兼ねて付け直し、結局かなり違うものになりました。これはこれで結構色気が出て面白いかなあと思いますが、どうでしょうね……。
(まあ、オリジナルを制作したご本人からは「良い」と行っていただけましたが)

それに、アニメーションを作るためにはレンダリング時間短縮のためのチューニングが必要なんですよ。これで最初の状態から10分の1くらいに短くなっていますから!

で、映像作品って、何のためのものかってのが、気になりますよね〜。何のためのものか。何かのためのものですよね、何かの……。
──さて、ヒント終わり。

この春、セルパブ界の話題をうっかり攫ったアレがね、また動いてるんですよ!
僕もこういう形ですが、参加させていただいてとても楽しいです。
(わ、分かりますよね……こ、ここまで言っちゃって……良かったのかな……)


おまけです。オリジナル状態の画像。

この、花のところに光が当たってるのがきれいなんですけど、時間短縮のために変えさせていただいちゃいました……
この、花のところに光が当たってるのがきれいなんですけど、時間短縮のために変えさせていただいちゃいました……(作者ご了解済み!)


はい、今日はここまで!

じゃね。

MANUEL BASTIONI LABを使おう!(その18):1.3 キタ!

来ました来ました、待望のVer.1.3
まずは追加機能を並べましょう。

・Skin Shader
読んで字のごとく、肌の質感をつかさどる設定。目の色も自在に変えられるし、なんど細かな筋肉や血管の表現まで搭載されているのだ。

・Age
年齢の設定がつきました。パラメーターは0〜1なので、具体的に○歳、というのはないのですが。

・Cycles対応、Lighting設定搭載
ここは微妙です。初心者向けに敢えてBlender Internal前提でこれまではチュートリアルを書いてきましたから、自動的にCyclesに置き換わってしまう本バージョンは、微妙な面もあります。

では、起動後の画面を。

Cyclesを使うか、尋ねてくれる
Cyclesを使うか、尋ねてくれるので、チェックを外せば Blender Internalで今までと同じように使えます。

 

このままキャラクターを作成すると、こうなります。

スクリーンショット 2016-07-30 17.28.24

画面最上部を見ると、レンダラーがCyclesに変更されていることがわかります。

光源も複数設定されています。WEBサイトの説明を見ると、プロのスタジオ・ライティング・セット、となっています。うーむ、ちょっと微妙ですが、ね。

──ところでCyclesって何?
  Blenderに内蔵されている、もう一つのレンダラー(CGデータを画像化するための計算を行なう心臓部)。光や影、質感の設定など、見栄えに関わるすべてがレンダラーによって計算されます。標準で設定されているBlender Internalは古いタイプのレンダラーですが、計算が速く、凝ったことをやろうとしない限りややこしいことがありません。初心者が計算能力の高くないパソコンでCGを作る時には、まだまだこちらの方が向いているのです。
  Cyclesは最新の技術を搭載した、フォトリアルな画像を作れる素晴らしいレンダラーです。でも、パソコンの計算負荷は非常に高く、短時間ではノイズだらけの画像しか得られませんし、初期値では更に時間のかかるパラメーター設定になっている(その分、時間をかければリアルになる)ので、ちょっとお薦めしづらい部分があるのです。
  (もちろん、僕が小説の表紙などで制作している画像はすべて、Cyclesによるものです)

何もいじらずに、ビューポートの表示設定を「Rendered(レンダリング・プレビュー)」に変更してみましょう。

画面下、中央あたりの白い球アイコンをクリック
画面下、やや左の白い球アイコンをクリック

 

僕のMacBookの場合、約18秒待つとこんな表示になります。

スクリーンショット 2016-07-30 17.41.14

リアルですね、すごいですね。今までとは次元が違います。

でも、ちょっと待って!
右手の下、なんだか赤い粒々がありますよね。これは、計算時間が充分でないため、光のノイズが残っているのです。「サブ・サーフェス・スキャッタリング(SSS)」といって、《透明でない物体の内部に侵入した光が拡散と反射を繰り返す計算》をさせています。リアルにするためには仕方がないのですが、これでは絵として使い物になりません。
試しに、どのくらいの時間できれいになるか試してみました。
画像が大きいと時間が掛かりすぎますので、画像サイズは小さめで。

全体の大きさを400×600ピクセルに設定(小さいです)しています。

完璧ではありませんが、概ねノイズが消えて滑らかな階調になっています。この画像のレンダリングに6分13秒掛かりました。僕のMacBookはCore i7のデュアルですし、それなりに高性能です。
で、この結果ですから……。

例えば電子書籍の表紙にキャラクターを使いたいと思ったら、天地2,500ピクセルほどで計算しなければなりません。長さ4倍強ですから、面積比は16倍。面積が倍になると概ねレンダリング時間は1.5倍になりますので、レンダリング時間は概ね30分です。

どうでしょうか。意外と現実的な時間で終わるかも、と思うか、そんなに待てない、と思うか……。

ただし、この画像の指先を見ると、ちょっとSSSの設定が深すぎるかもしれません。背後から光を受けた時、こんなに光を透過しなさそうですよね。このあたりを調整すれば、もう少し速くなるかも。

ちょっと設定を見てみました。

Skinの設定で下から2番目にあるSSSが、これ。
Skinの設定で下から2番目にあるSSSが、これ。

 

ちなみに、設定の奥ではこんな複雑怪奇なことが行われています。

このキャラクターの質感設定はこんな感じ。枠がオレンジ色にハイライトされている部分がSSSの設定です。

 

では、ちょっと実験してみましょう。

(僕はManuel Labメニューにあることに気がつかなくて、node editorからいじってしまいました。実際は、これを開く必要はありませんので、念のため)

sss1
デフォルト設定の1.0。28.57秒。
sss0
SSS=0.0、効果をなくした状態。22.38秒。
sss0.3
SSS値=0.3。25.73秒。
sss0.5
SSS値=0.5。27.39秒。

SSS値が0.5くらいが一番リアルな感じがします。レンダリング時間では、数パーセントしか変わりませんね……。

※ちなみに、Node Editorの出し方はこちらです。

画面左下の「3D View」となっているアイコンをクリックすると、各種エディターにアクセスできます。
画面左下の「3D View」となっているアイコンをクリックすると、各種エディターにアクセスできます。

さて、脱線(!)はこのくらいにして、Ver.1.3の機能をもう少し追いかけましょうか。

■Character Age(年齢設定)

設定はここ。
設定はここ。

デフォルトは0ですね。最大値である1.0にしてみます。

おおお。
おおお。マンマミーア!(なにもこんなに太らせんでも……)

お次は、中間の0.5です。

マダム!
マダム!

 

実際は、これで年齢を設定したあと、体型のパラメーターを細々といじって作り込んでいくと思います。でも、数字を1ヶ所変えるだけでこれだけのものが出来てしまうのですから、さすがです!

次、行きましょ。

■Skin editor tools(肌エディター)

チェックボックスをクリックするとこんな設定が広がります。

お、注意書きがあります。
お、注意書きがあります。

注意書きにある「Subd.」というのは、Subdivision Surface(=再分割曲面)のこと。Manuel Labは、レンダリング時には角張らず滑らかな曲面で、操作時にはローポリゴンでサクッと動作するようにSubdivision Surfaceのモディファイヤが始めから設定されています(ちょっとCG用語が多過ぎるか……)。

ま、要するに、Subdivision Surfaceのプレビューになってると計算時間がかかって、画面表示がのろくさくなるから注意してね、ということです(前回もちょっと触れましたね)。

subd_off
「Enable subdivision preview」を押していない状態。subdがoffです。おでこのエッジが角張っています。
subd_on
「Enable subdivision preview」を押していない状態。subdがonです。おでこのエッジが滑らかな曲面です。

細かな表情をいじる時以外は、これはoffでいいかと思います。

髪の毛がないのって、どうしても寂しいですよね。今後のバージョンアップでは髪の毛やベーシックな衣服も含まれる予定になってますから、そこは今後のバージョンに期待したいところです。

さて、次は目です。

・目の設定はこの三つ

スクリーンショット 2016-07-30 18.58.01

色相、再度、明るさ、ですね。

hue(=色相)が0.5でこの色。

eye_hue=0.5
eye_hue=0.5

1が最大値ですから、彩度と明るさはこれ以上にはならないということです。hueの値だけ変えてみます。

eye_hue=0.0
eye_hue=0.0, 1.0も同じ色になります(色環をぐるりと回って1周するので)。
eye_hue=0.2
eye_hue=0.2
eye_hue=0.4
eye_hue=0.4
eye_hue=0.6
eye_hue=0.6
eye_hue=0.8
eye_hue=0.8

単純に瞳の周りの色相を回しているだけのようなので、今一つリアルな色ではありませんが、ちょっと調整してブラウン・アイを作ってみます。

eye_hue=0.5, saturation=1, value=0.5
eye_hue=0.5, saturation=1, value=0.5

うーむ。今一つですね。

実はこの目、元からManuel Labに仕込まれているテクスチャ・マップの色を変えているだけです。どんなテクスチャが使われているのか見てみると……。

eye_map

これです。hue=0.5, saturation=1.0, value=1.0、つまりデフォルト設定の時に、この色が現われるようですね。

(サイズは半分に縮小しています)
全体を見るとこんな感じ(サイズは半分に縮小しています)

 

そう、お気づきですね(強引)。

Blenderはテクスチャ画像のペイント機能も持っています。この画像をBlender上でペイントして上書き保存することで、Manuel Labの設定にはない色に調整することもできますし、もちろん、保存した画像を別の画像編集ソフトで開いて目の色を描くこともできます。

ちょっとやってみたところ、Blenderで行なうより別のソフトでやる方が良さそうです。いろいろできるとは言え、レイヤーを持てないのは辛いですし。

Blenderのペイント機能で目の色を編集。へたくそです。
Blenderのペイント機能で目の色を編集。へたくそです。

 

さて、機能を網羅しないうちに、お時間が来てしまったようです。Manuel Lab、楽しいですね〜。

ちょっと長くなってしまいましたので、あとは来週に回しましょうか。

では、次回もお楽しみに!

 

残しておきたいツイート─031

よ、みんな!
(と、いきなりフレンドリーになってみる)

今日は、こんなツイートからだよ。

1.

楠樹さんのツイノベ、面白いですよね〜。最近、あんまりツイッターに潜っていないんで、いっぱい見逃しているなあ。
新作も出てますよね。
↓(こちらはツイノベでなく、原稿用紙各5枚の作品集。買っちゃったよ)

2.

すっかり忘れてた。自分用メモ。
──CGネタでごめん。

3.

先々月、残念なことがあったなあ。
(僕は気にしてませんよ)

4.

むふふ。たまにはこういうのもね、思い出しておきましょ。

5.

そうそう、それからね、こういう気持ちなんだ!!

6.

先週、最後の無料キャンペーンを敢行した『ケプラーズ5213』の、今や懐かしい茶色版の表紙。

7.

「あ、この宣伝文句、また使おう」
っと思ったので……(笑

8.

こっちも──。

9.

これ、独立作家同盟での藤井大洋さんのセミナーですね。
うむ。覚えておかなきゃ。

10.

もちろんね、文字で読みたい人だってたくさんいる。
映画と原作を比べれば(ほぼ?)原作のほうが優れているんだから、やっぱり小説ってのは大事で大きなものなんだよね。

文字で書かれていれば、読んだ人数分のイマジネーションがあるんだから。
それって、すごいことだよね!

じゃ、今日はこれまで。