Last Wings 制作後記 #2 Blender勉強編

Last Wings 制作後記 #1 コンセプト決め編」の続きとなります。 今回はBlenderをどのように勉強してきたかについて書きます。

※私は映像制作初心者なので間違っている情報もあるかもしれません。 そのような情報があればTwitterやコメントなどで教えてもらえると助かります。

Blenderの勉強

今年のG2RのBMSを作る際に、まだ明確なコンセプトや曲の構想が固まっていませんでした。 なので、頼める映像作家さんを探したり、映像制作を頼むまでに余裕を持ってある程度完成させることが難しそうだと思っていました。 また、自分で映像を作ってみたいという気持ちもあり、 Blenderの勉強を始めることにしました。

Blenderはフリーの3DCGソフトであり、 モデリング(3Dモデルの作成)、アニメーション、レンダリング(映像の書き出し)、コンポジット(映像のエフェクト付けや合成)など、 3DCG映像制作に必要な機能が一通り揃っています。 今までBlenderはゲームで使うための単純な形状のモデリングをするために使っただけで、 本格的なモデリングやアニメーション作成などはやったことがありませんでした。

Blenderを勉強するため、YouTubeチュートリアル動画を参考にしたり、 調べた機能を使ったりして画像や短い映像を作りました。 YouTubeチュートリアルは英語のもののほうが充実していますが、 リスニングが苦手なら自動字幕機能を使って字幕を出すこともできます。

作成したもの

作ったものを古い順に以下に並べています。

参考動画 : How to Make Earth in Blender (Cycles) - YouTube

地球のマテリアル(材質)には4つのテクスチャ(モデルの表面に貼り付ける画像)を設定して、 色、高さ、海か陸か、夜の明かりのそれぞれを合成して、 その上に雲のテクスチャを貼った球体を置いています。 コンポジットでは、ID Maskを使って太陽の部分だけフレアエフェクトを付けて、 それを合成し色調整などのエフェクトを付けています。

f:id:raii_x:20181115001051j:plain
参考動画 : How to Create a Realistic Asteroid using Blender - YouTube

岩は、変形させたCubeにSubdivision Surfaceをかけて、 DisplacementモディファイアにCloudsテクスチャを設定してかけて作ります。 周りの岩はパーティクルシステムを使って発生させます。

トンネルを作るためにArrayモディファイアを二つ使って、一つは壁を複製して60度の回転で円柱状に並べて、 もう一つは奥方向に並べます。

歯車は円形の辺を押し出して中央に向かってスケーリングしたり、 Booleanモディファイアでくり抜いたりして作ります。 パーティクルシステムを使って歯車を下方向に向かって発生させます。

参考動画 : Blender Beginner Tutorial - Part 1: User Interface - YouTube (全9パートのシリーズ)

注意点や思ったことなど

Blenderには、「Blender Render」と「Cycles Render」2つのレンダラー(描画システム)があり、 Cycles Renderのほうがリアルな画を作ることができるため、 こちらが主に使われます。 作成したBGAでもこちらを使用しました。

コンポジットで色を調整することが重要だと感じました。 うまく色調整することで引き締まってかっこよく見えると感じました。

f:id:raii_x:20181115001103j:plain f:id:raii_x:20181115001058j:plain
色の調整前と調整後の例

レンダリングは標準ではCPUを使うようになっていますが、 GPUを使用するように変更できます。 その際、Tile Sizeを変更しなければ十分な速度でレンダリングすることができません。 そこで、Auto Tile Sizeというアドオンで自動で変更するようにしました。 その他にもレンダリングを速くするための設定があります。 この動画がその参考になると思います。
18 Ways to Speed Up Blender Cycles Rendering - YouTube

ラスタライズとレイトレーシング

Last WingsのBGA作成時はレンダリングに1枚数十秒~数分ほどかかり、 30fpsの映像なので映像1秒あたり30枚レンダリングしなければなりませんでした。 ここで、なぜゲームなどではリアルタイムでレンダリングできるのに わざわざそんなに時間をかけてレンダリングするんだと思う人もいるかもしれません。 その理由はレンダリング方式が違うからです。

ゲームなどではラスタライズという方式で、 3Dモデルを構成するポリゴン(多角形)を画面上の対応する位置に描画し、 その際に光源や環境についての限られた情報からから色を計算する という方法でレンダリングします。 このとき、ポリゴンに周りの物体が反射して映り込むなどということをやるには制約があります。

一方Blenderなどではレイトレーシングという方式で、 画面上のそれぞれのピクセルについてそのピクセルに到達する全ての光の経路を求めます。 こうすることで、計算コストは掛かりますが、 光の反射や拡散、屈折などが正確に計算され、非常にリアルな画を作ることができます。

使用PCのスペック

使用しているPCのスペックを書いておきます。

GTX 750 TiはWorld of Warshipsをプレイするために購入しました。 このような比較的軽めの3Dゲームは快適に動きますが、 最新のゲームはフレームレートが落ちることもあり、 VRが快適に動かない程度の性能です。

このくらいのスペックでも作れるのですが、 レンダリング時間を減らすためにもっと良いものが欲しいと思いました。

「#3 BGA制作編 (1)」に続く...