タグ別アーカイブ: Rendering

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で着色します。

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

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

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

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

じゃ、また明晩!

Sculptrisで使えるMatcap画像を公開

スカルプトを分かりやすく美しく表示してくれるMatcapシェーダー用の画像をBlenderで作成しました。
左側のメニューにある「REPOSITORY」からどうぞ。
《2015.11月捕捉:REPOSITORYへの掲載内容が少しずつ増えてきたので、こちらの直リンクもご利用くださいね!》

と、その前に、「Matcapって単に画面表示用じゃん、それだけきれいにしてもな…」と思ったあなた、画面プレビューの書き出し機能を使えば、動画だって出来ちゃうんですよ。
例えばBlenderなら、OpenGL render active viewportの機能(下図では右下のカチンコのボタンです)を使えば、画面表示状態のアニメーションをそのままレンダリングしてくれます。

OpenGL Render Active Viewport
OpenGL Render Active Viewport

動画のサンプルとして上げた下記のティオセノス号のシーンは200フレームの長さですが、ほんの数分でレンダリングが上がりました。

(クリックしてYoutube動画を再生)
(クリックしてYoutube動画を再生)

ちょっとしたコツとして、背景色をWorldの設定で黄緑色にすると、コンポジットする時に簡単にキーイング出来ます。船体には当然リフレクションは入りませんので、完璧に抜けますしね!

グリーンバックで映画っぽく!
グリーンバックで映画っぽく!

 

<12/24 補足:
Render設定/Shading/Alpha の設定をTransparent にすれば、ビューポートレンダリング時に背景は透明になります。背景色を設定する必要はなかったですね!>

どんどん過去へと消えてしまうブログページでなく、固定ページにリポジトリーを設けましたので、これから色々な配布物を載せていこうかなと考えています。

この記事が、いつか誰かの役に立ちますように!

Blenderで出来る意外なこと

本記事は、Blender Advent Calendar の12月21日担当分です!

Blenderで出来る意外なこと、と題していましたが、お恥ずかしいことに自分の担当日付を勘違いしており、内容を絞らせて頂きました。お詫びに、今後このブログで適宜追加させて下さいませ!!

お題は、3DCGを知らなくても、モデリングとか出来なくても作れる「映像用のかっちょいいロゴアニメーション(飛んでくるタイプとは違うぞ)」となります。

全然意外なことじゃありませんでしたね。もっと意外なことはまた今度・・・・ということでご勘弁。

さて、仕上がりイメージは僕の新作小説『ケプラーズ5213』の予告編で使ったこんなロゴアニメーション。
title_keplers

こんなロゴアニメーションの作り方のチュートリアルなのですが、自分の小説のタイトルについて書いても仕方がないので、季節柄、下記のようなものを作ることにしました。
title_new
さて、最後までお付き合い下さいね。
ダウンロード、インストールなど基本的な使いかたやBlenderが初めてというかたは、藤堂++さんのページに詳しく書いてありますので、是非、参考にして下さい。
こちらから順にどうぞ。素晴らしいページです!)

なお、単位設定はBlenderデフォルト、インターフェースは英語版のままです。ご了承下さい。

・まず、Blenderを起動したら、お約束のデフォルトキューブを消しましょう。Xキーを押して、エンターですね。01

・Addメニューからテキスト・オブジェクトを作ります。02

・XYZ座標=0の原点から書き始められている「Text」と書かれたテキストオブジェクトが出来ます。03

 

・tabキーを押して編集モードに入り、deleteキーで全てのテキストを削除、好きな文字を入力します。04

 

・Merry Christmas! と打ってみました。入力が終わったら、再度tabキーを押して「オブジェクトモード」に戻ります。05

 

・書体を好きなものに変更しましょう。Blenderのデフォルトフォントもなかなか味があって好きなのですが、今回は『ケプラーズ』で用いたのと同じSFっぽいフォント、OCR A Stdを使います。(PCに入っていない人、ごめんなさい。ご自分で好きなものを 使って下さいね)

・画面右のPropertiesパネルから「F」の字アイコンのフォントパネルを選択します。

06

 

・X印の左にあるフォルダボタンを押して、それぞれのシステム内にあるフォントフォルダから、お好きなものを選んで下さい。
(Regularのみで良いです)

font

 

・フォントのプロパティーを設定します。入力したままでは文字間がちょっと広過ぎてまとまりが悪いので、Spacingの値を調整します。全体でしか調整できませんので、一文字一文字のスペースについては、後ほど細かく気にすることにして、先に進みます。

08

 

・テキストオブジェクトを立体化し、べベル(角の面取り)を設定します。Fontパネルを少し下のほうにスクロールし、Geometryの設定を出します。下図では、Extrude(押し出し)を0.02に、べベルを0.01に設定しています。

09

 

・基本的な調整を終えた状態。ここまではオフィスでも出来たりしますよね〜。さあ、ここから先が3DCGの面目躍如です!

10

・テキストデータをポリゴン化します。これを行うともう文字としてのプロパティ(内容、フォント、文字間調整など)を変えられませんので、念のため一回保存してから先へ進みましょう。
(FileメニューからSave)

・ポリゴン(=メッシュ)化は、テキストを選択した状態でAlt + Cキーを押します。下図の選択肢が出ますので、下のMesh from Curve..(カーブ、サーフェス、テキストからメッシュを作る)をクリックします。

11

 

・Mの文字を大きくしたいので、Mの文字だけを選択します。
1. 現在はシェーディングされていて裏にある頂点が隠れているので、ワイヤーフレームモードにするために、Zキーを押します。
2. tabキーでEditモードに入ります
3. Bキーを押します(囲んだ範囲をセレクトする選択ツールのモードに入る)
4. Mの字の左上から右下までをドラッグして文字を選択。オレンジ色になります

13
Bキーを押して選択するための縦横補助線が出た状態
12
選択された部分はオレンジに。適宜マウスのホイールで画面を拡大し、選択されないで残っている頂点などがないことを確認しましょう!Bキーを押せば、選択されなかった部分を追加で選択できます。

 

・Mの文字を拡大します。高さ方向(=Z軸方向)には拡大したくないので、Z方向の拡大を制限します。まずSキーを押して拡大モードに、Shift+Zキーを押すと、Z方向への拡大が出来なくなります。マウスを動かすと、自由に拡大縮小出来るようになりますので、気に入った大きさでマウスクリックして拡大縮小モードを抜けます。
この時に気を付けなければいけないのが、Mの文字の近くにある白と赤の円。デフォルト設定の場合、この位置が拡大縮小の起点になります。Sキーを押した時点でマウスがこの近くにあり過ぎると、思うように拡大縮小出来ず、大きさが激しく変化してしまいます。マウスカーソルをそこそこ離した状態で試して下さい。 15

・Mの文字の位置を調整しましょう。Gのキーを押して移動モードに入り、マウスを動かします。マウスクリックかエンターキーで確定します。

・Mと同じようにCの文字を選択して大きさを調整したら、Chrismas ! 全体を同様に選択し、位置を調整します。Mの左足を伸ばすことになるので、伸ばした後のバランスを考えて調整しましょう。

16

・全体の位置が決まったら、一文字ずつ細かく調整します。これまでと同様、一文字ずつ、または数文字ずつBキーを押してから選択し、Gキープラス移動したい方向を示すキー(ほとんどの場合はX方向ですね)を押します。
選択したオブジェクトの一部だけ選択解除したい時は、Bキーを押した後、中ボタンでドラッグします。

上の画像は調整前、下は調整後。違いが分かりますでしょうか?
–> Mとeの間を若干離します。
–> r、i、sの間をそれぞれ詰めます。
(文字詰めを行う時は、文字と文字との間にある全体の空間を見ます。文字間が一番狭いところや広いところを気にしてはいけませんよ、全体のバランスは空間の空きかたで把握します)
13

17

・Mの字の左足を伸ばしましょう。上の図にあるようにMの左足の下部分だけを選択し、Yのマイナス方向に伸ばします。図では移動のギズモが出ていますね。これが出ていれば、緑色の矢印をドラッグすればOK。
出ていなければ、画面下のGlobalと書いてあるところの左側に並んでいるアイコンの矢印を選択します。これで選択オブジェクトから矢印が生えます。
もう一つのやり方として、Gキーを押して、移動モードに入り、YキーでY軸方向に移動を制限。というのがあります。慣れてくるとこちらが便利ですが、押すキーを忘れるとアウトなので、どのアイコンを押すとどうなるか、とか、どのメニューに何が入っているか、も見ておきたいところですね。
(Gキーで移動する方法は、文字の調整で使いましたね!)

・同様にCの下部分を右に伸ばし、びっくりマークを若干拡大して、全体のバランスを整えます。tabキーを押してオブジェクトモードに戻ったのが下図です。

18

・いよいよ質感を作ります。右のPropertiesパネルからオレンジ色っぽい球体のアイコンが描かれたタブを選択し、マテリアルを作ります。右側の+ボタンとNewボタンを順に押して、三つの新規マテリアルを作りましょう。

20

21
Newボタンを押してマテリアルが作られると、下にプレビューが出ます

 

・一番上の「Material」を選択し、色を付けましょう。Diffuseと書かれたところの下のボックスをクリックすると、色の設定が出来ます。メインカラーはちょっと深めのグリーンにします。

22

 

・文字の色は後で光らせたいので、ShadingのEmit(発光)値を2にします。外部光源の光が当たったときに文字の表面色が白っぽくなると可読性が下がるので、右のShadeless(陰影を付けない)にチェックを入れます。

これで、自分自身は光って別のオブジェクト(今回の場合は地面)を照らし、自分は別の光源に照らされても影響を受けないマテリアルになります。

shadeless2

 

・続けて「Material.001」を赤に、「Material.002」を明るく淡い黄色にします。EmitとShadelessは緑と同様です。

2324

・地面も作っておきましょう。AddメニューからMesh / Planeを選択します。また、地面にも適当なマテリアルを作っておきます。plane

25
Sキー、10を押して、10倍に拡大します。どこから見ても地面の下が見えてしまわないように。

 

・シェーディングされた状態では、こんな感じに見えていますでしょうか。

地面は作成したままの位置だと文字がくっついていますので、地面を若干下に下げます。下図では、ビューの右側にあるプロパティパネル(Nキーを押すと出したり消したり出来ます)のTransform / LocationのZの値を-0.1に設定しています。

28

・ちょっと難しい部分に入ります。現段階では文字全体が緑色になっていますが、文字の面取りと裏をそれぞれ赤と明るい黄色にしていきます。

まずは、面取り部分を赤くしましょう。そのためには、全ての文字の面取り部分を選択します。

tabでeditモードに入り、画面下の「Global」と書いてあるところの右側にある三つの立方体アイコンのうち、一番右、「面」を選択するモードにします。(二つ下の図を見て下さい)

Altキーを押しながら、面と面との間のエッジをクリックします。

選択

 

・面取り部分のポリゴンがぐるりと選択出来れば成功。今度は更にShiftキーを押しながらAlt + クリックで、別の文字も順に選択します。

30

・下図のように全て上手く選択出来たら、マテリアルから赤いマテリアルを選択し、すぐ下にあるAssignキーを押します。これで、今選択しているポリゴンのみに赤いマテリアルが設定されます。33

・アサインし終わると、下図のような感じになります。

34

・次は地面を薄い黄色で照らすことになる、下向きの面を選択します。今度はちょっと面倒です。

1. 1のキーを押して、フロントビューにします。Bのキーを押してポリゴンを選択します。この時、一番下向きの面と面取りの面が囲われていることを確認しながらマウスを動かしましょう。

※押すのはテンキーの1です。文字キーの1を押すと、レイヤー切り替えになってしまいます。(デフォルトで1のレイヤーだけ使用しているので、ここでは問題ありませんが)
テンキーのないPCをお使いの場合は、Blenderの初期設定を変える必要があります。FileメニューからUser Preferenceを選び、出た画面でEmulate Numpadにチェックを入れます。これで、文字キーの数字が、ビュー選択キーになります。1〜0まで押してみてくださいね。pref

2. Shiftキーを押しながらマウスの中ボタンをドラッグして、画面を未選択の文字へ移動します。

3. Bキーを押してマウスを動かして選択したい面を囲みます。少しずつ、全ての文字を選択します。35

・全てを選択し終えたら、うす黄色のマテリアルを選択し、Assignボタンを押して面にアサインします。

39

 

・カメラアングルを設定します。初めからシーンにあるカメラを選択し、回転と移動で位置を調整します。

カメラを動かしながら、カメラからのビューも見やすくするため、まず3Dビューを二つに分割します。画面の右上にある三本の斜め線のところにカーソルを持って行き、左へドラッグしましょう。

Divide

左のビューで0キーを押すと、カメラから見たビューになります。座標系のモードをローカルにしておくと調整がしやすくなります。(下図の中央より少し右下。Localとなっていますね)

41
ローカル座標系で回転ツールが選択されている状態。Localの文字の左のアイコンで、“円弧”が回転ツール。色の付いたラインをドラッグします。

 

・カメラが決まったら、左斜め上あたりに光源を移動しましょう。これも、最初からシーンに置いてある「ポイントライト」です。

・光源の位置を調整したら、右のPropertiesで「World」タブを選択し、環境光などの設定をします。

1. Indirect Lighting(間接光)にチェックを入れ、Bounces(光の反射回数)を2回に設定
2.  GatheringをApproximateに。
3. Samplingの中のError値を0.001に。
(この値を下げると間接光の計算が正確になりレンダリング結果がきれいになりますが、計算時間がかかります。お持ちのPCの性能に合わせて、レンダリングテストをしながら値を決めましょう。最終レンダリングをする時以外は、デフォルト値のままのほうがいいかも知れませんね)

42

・さあ、いよいよレンダリングです。画面上のRenderメニューからRender Imageを選択するか、Mac以外のFキーつきキーボードならF12を押すとレンダリングが始まります。下図では、地面を水色にしています。
(ちなみに僕は、初期設定でCommand + Rでレンダリングが走るようにしています。Macらしいでしょ!)

43

・ちょっと雰囲気を出すために、光源の色をピンクにしてみましょう。ポイントライトのオブジェクトを選択しPropertiesからLampを選択、色を変更します。テストレンダリングをしながらEnergyの値を調整しましょう。レンダリングはESCキーで中止出来ますので、途中で止めて再調整出来ます。

※こまめにファイルを保存することもお忘れなく。

44・静止画としては、これでレンダリングが終了すれば終わりですが、今回は「ロゴアニメーション」なので、動作を付けます。

・最も簡単で効果的な「Buildモディファイヤ」によるアニメーションです。

PropertiesからスパナのアイコンのModidierタブを選択し、Add Modifierをクリック、下図のようにBuildを選択します。

45

・モディファイヤをあてると、文字が消えました。これは、何もない状態から文字が出来上がるまでをアニメーションしてくれるモディファイヤだからなのです。画面下のタイムラインで緑色の太線が0にあれば、文字オブジェクトが作り始められる前、これが右へ進むとどんどん形が出来ていきます。

Buildモディファイヤの設定内を見ると、Startが0、Length(表示が消えてますが)が100になっています。100フレーム目、つまりBlenderの初期設定では約4秒後に形状が完成するということになります。

46

・完成形が下のGIFアニメです。容量を落としているのでちょっと汚いですが、イメージ通りに出来ましたでしょうか?

Final

 

長い記事を最後まで読んで下さって、ありがとうございます!

明日は、Pronamaさんの、「テクスチャが紫で見れない現象を修正。プロ生ちゃん Blender オリジナルファイル付き」です。楽しみですね!

 

<SMMAW Project No.39>


そして、注目記事、『Blenderで出来るとことん意外なこと』はこちら!

新作の執筆状況6

新作『ケプラーズ5213』、まだ三回目の校正中です。もう少しなのですが、Kindle化までにはまだまだ時間が必要で…。そこで、ということで、予告編の一部が少しずつ出来てきていますので、Work in Progress動画をちょっとだけお見せしますね。←音はまだです。

マシンパワーが<これ以上は無理!>というので、これ以上の画質アップはご勘弁(最終はQHDサイズになります)。本当はもっときれいにレンダリングしたいのですが、やはり1フレーム1分以内のレンダリング時間に抑えたいですし。
このカットは全体で二十秒(=600フレーム)あるので、満足いく画質になるまでサンプル数を上げると100時間前後はかかってしまうのです。電気代はもちろん、愛機にそんな無理をさせたくないですもの。
ディティールをDisplacement Mapping で出しているため、Cyclesだけではかなり酷いノイズでした。それを少しでも目立たなくしようと、Blender Internalのレンダリングとハイブリッド・コンポしています。(あ、もちろんCaustics offとか、Filter Glossy、Multiple importanceとか、ノイズ軽減の基本は押さえた上で、Despeckleもかけて)

この記事は、誰の役にも立たないかなあ…。

改めて、Blender.orgのCyclesリファレンスページで、ノイズを減らす方法を読み直しました。

上記で書いた他に、マテリアルの色値を1(真っ白など)にしてはいかん、とか、透明の影に気を付けろ、とか、ありますね。これらの基本でしたね。このシーンは透明物のない、減衰光のない、遮蔽空間のない宇宙のシーンなのであれですが、インテリアシーンなどでFireFlyやノイズに困っている場合、先ほど上げたページを読んでみるといいかもです。

いつか、誰かの役に立ちますように!