ソフトを使う場合には、実装されていないものは作るしか無いので、
■ プラグインを対応の開発言語で自前で開発する
■ スクリプトを書いてソレを実行する
■ オブジェクトの場合モデリングをする
■ 挙動の場合だと雛形を作る
などなど、イトイトなことが必要になります。しかし、一度作ればあとは調整だけで住む状態にできるのは便利なので、そうした事を行うわけですが、これは、同じテイストの作品を作る場合に登場する大江具や小道具が使いまわしができるので、そうしたオブジェクトは事前に作っておいてアセットとしてその後も利用するのと同じようなイメージです。
ただし、実装機能で対応できる物で便利な機能は存在していますから、そうした物を使わない手はありません。そこで、今回は、Blenderの標準実装アドオンと無料アドオンで便利なものを紹介して行こうかなと思います。
■ Blenderで最初に行うこと
まず、Blenderを立ち上げると、
のような画面になりますが、この状態だと使いにくいので、【 N 】キーでシェルフを呼び出します。すると、右側に
のような項目が表示されます。ここはBGEを使う場合にGLSLの設定にしたり、GLレンダーを使う時にレンダリングする対象オブジェクトのみを表示する選択するときにも使いますが、【0】キーでカメラビューにした場合に、構図を決める時に仕様をする
の中のカメラをビューにロックを選択するときにも使用します。
■ メニューから選択する
基本的に、オブジェクトの呼び出しはソレで行えるのですが、操作系については、画面左側のメニューに格納されており、オブジェクトモードだとオブジェクトの追加に関する物が存在しています。コレが各モードで関連したものが入ってるわけですが、
【 トランスフォーム 】
だと、ポリゴンメッシュの塊であるオブジェクト単位(エディットモードにした時に独立した状態で存在するメッシュの単位)で
■ 拡大・縮小
■ 回転
■ 複製
などが行なえます。
【 プリミーティブ追加 】
では基本形状の呼び出しになります。ただし、【 スペース 】キーから呼び出すほうが速いかも知れません。
【 グリースペンシル 】
については、先日
で書きましたが、ペンタブレットや液晶タブレットで平面のグラフィックを描けるモードで、基本的に【 InkscapeのカリグラフィーにWINTABのAPIの筆圧感知がついたようなイメージ 】の作業で絵を描いていくことができます。また、キーフレームを打ってアニメーションさせることが可能なのと、レイヤー別にその処理を個別に指定できるので、3Dオブジェクトのキーフレームと同様にレイヤーの変化をキーフレームで登録していくことでモーフィングによる補間も含めた処理が行われます。
■ Blenderで景観を作る
3DCGで景観を作るのは大変なんですが、Blenderでは、
■ 山
■ 建物
■ 樹木
■ 草
■ 雲
などはオブジェクトで生成することが可能になっています。
流石に雲はオブジェクトではないですが、景観を生成するのに向いている機能は多く実装されています。
まず、山ですが、最初にユーザー設定でアドオンを追加した状態であれば、オブジェクトモードでスペースキーを押してメニューを呼び出し
のようにオブジェクトの追加からLandscapeを選択することで地形を作れます。コレを実行して項目を変更すると
のような地面が自動生成されます。この機能は
のように結構複雑なオプションこ雨目になっているのでココでコレについて全て書くとコレだだけで終わってしまうので、今回は操作方法は割愛します。
以前、
な感じでゲーム用に削減してみたのを書いていますが、ポリゴン数はかさみますが、山や渓谷などの地形などを作る機能が実装されています。
Blenderでは、石垣のように砕けた状態の物を作る機能が存在しており、
【 Clack it! 】
と言うアドオンを使うと、
を
のように砕くことができます。この分割数や状態はパラメーターで変更できるので、樹木の肌や石垣などでは重宝する機能と言えそうです。
景観というと雲なども重要ですが、太陽はライトで対応できるのでいいとして、雲の生成というのは示唆が発生しない場合だと、板ポリゴンでいいのですが、示唆が発生する場合には立体感のある状態で出したほうがいいのは確かです。その時に、
【 Cloud Ganarator 】
を用いると雲が作れます。と言っても、これはGLレンダーでは使用不能ですし、ビューポート上で表示もされないので、レンダリングをシて確認するしかありません。とりあえず、
に対して適応すると
のようなメッシュが生成されるので、
のようにチェックを入れて【0】キーでカメラビューにして
な感じで構図を変えてレンダリングしてみると、
のように雲が生成されます。
次に、Blendeerでは、内観と外観の生成用のプリミーティブが用意されているのですが、
【 Archimesh 】
からオブジェクトを選択すると、
のような感じで内観パース用のオブジェクトが利用できます。また、コレと同時に
のように壁面を作って外観を作れるアドオンも実装されているのでユーザー設定でアドオンを追加している場合には、先程の内観だけではなく
のような外観を構成するオブジェクトも利用できます。ちなみに、このオブジェクトもオブジェクトモードで【 スペース 】キーからメニューを呼び出すとメッシュの子雨目に包含されているので他のオブジェクトと同様に呼び出して利用することが可能です。
次に、樹木の生成機能もBlenderには実装されており、
のようにカーブから【 Sapling Tree Gen 】を呼び出すことで
のような樹木の生成が可能なアドオンを使用できます。調整項目は左に
な感じで出るのですが、ここで樹木の状態や葉の追加などを行うことが可能です。とりあえず、レンダリングをすると
な感じになります。コレも以前、
でも触れていますが、別のアプローチとして
というものもあります。無料アドオンに草を生やすものがあるのですが、
【 Grass Free 】
を用いると草を生やすことができます。と言っても、これは単に草の形状が複数入っていてグループ化されているだけのものになりますあら、そのまま用意しても3つのオブジェクトが並んでるものが追加されることになります。流石に、そんなのを手で植えていると大変なので、パーティクルを用いて植えます。
とりあえず、これはオブジェクトパーティクルになるのですが、Blenderではオブジェクトのグループをパーティクルとして扱うことができるので、個別とグループのいずれかで用いることができます。今回はグループで利用してみました。
とりあえず、実行してみると、
な感じで草を生やすことが可能なんですが、今回はヘアを適応して
のように元の数は少なくして子で補間するような状態にしたところ固まってしまいました。ちなみに、
のような状態で、3.6GB強のメモリー消費なんですが、
の状態になっていました。結果的に設定を間違うとそうなるのですが、マシンスペックが弱いだけでもそんな感じになります。樹木などが重いのもあるので、作り直して
のような地面を作り、
な感じで散らして
まで増やしたところ
と言う感じになりました。オブジェクトパーティクルというのは
【 オブジェクトのポリゴン数 x パーティクル数 】
総ポリゴン数が跳ね上がるので流石にポリゴンお桁数がすごいことになっているのでムリだったようです。
とりあえず、
な感じでパーティクルを指定してレンダリングしたところ
な感じになり、
のように指定して複数のパーティクルを個別に設定を行い
にしてレンダリングしたのが
になります。草むらを作る場合には、パーティクルが有効なんですが、このパーティクルの使い方としてバーテックスグループを使う方法があります。コレは以前
のような方法があります。あと、配置とは関係なのですが、パーティクルの特性については、以前
で触れていますが、ビルボードを使うとカメラに向くこととアクションで動くものについてもパーティクルで利用できると言う仕様になっています。
こうしてみてみると外観都内感で使いやすい機能が標準実装されているのですが、モディファイヤーに海洋などもあるので、水の表現もメッシュから生成することが可能です。とりあえず、静止画像の場合だと、BAKE後のFluidをそのまま使うということが可能なんですが、動かすとなるとFluidは結構重たいので個人のPCだとレンダリング時間が恐ろしく悪化ることがあります。というよりも1週間くらいPCが演算のみを続ける状態になって使用不能雨に陥るとかってPCを使うという用途だとほとんどの人が知らないし、そうした内容が当たり前に存在していることを全く知らない慣習で生きていると、その状態概要状と思うかも知れないですが、3DCGのレンダリングもそうですが、ディープラーニングとかも実際にはそんな感じですから、演算させ続ける処理というのは当たり前に存在します。その為、ソレをなるべく短時間で終わらせる工夫が必要になりますが、オブジェクトの生成というこんな感じのアドオンが実装されているので作りやすい状態になっています。
Appendix
景観というと、煙なども存在しますが、この演算については、GLレンダーでも対応しています。これは以前動画でアップしていますが、
のような感じで当たり前に短時間で出せます。ビューレンダリングとレイトレーサーやパストレーサーのレンダダリング時間の違いについては、
でも書いていますが、ビューポートレンダリングはGIレンダーよりも速いです。あと、GIレンダーだと
な感じのダイナミクスも使えるので、動画を書き出す場合だとGIレンダーよりもレンダリング時間を短くすることが可能です。
現在のバージョンはアルファ版なのでRC版が出てきてからの話になりそうですが、2.8のEeeveeでは、光源の表現がノードによるコンポジションなしでもBloomなどが利用できるのできれいに出る仕様になっているのですが、
のような光の状態が作れるので便利です。環境の光の表現については相当自由度が高いので使い勝手がかなり良くなっています。その為、従来だと、コンポジションを大前提としたレンダリングとなっていた(ので、GLレンダーだと素材を書き出して合成する感じだったり、Cyclesだとノードでシーンやレンダーレイヤーを指定してそれをノードでコントロールする感じですね。)のですが、そうした調整を行いやすい状態になっています。
この条件を見ると、夜の街灯とかが綺麗に出るとか、屋内のランプのコントロールも行いやすくなるといのがなんとなく理解できるのではないかな?と思いますが、風景の中でこうした表現が聞いてくるものは光源ですから、照明機器やネオンなどもソレに該当します。あと、Belnderでは、
でかい多様にマテリアルの項目をコントロールすることが可能なので、キーフレームをそのまま打つ方法も大丈夫ですし、ノードでもそうしたコントロールが可能です。アニメーションオードというものが実装されているので、挙動制御もノードで行えるようですが、景観を作る上で必要になりそうなものは結構実装されています。ちなみに、煙徒歩の大はSmokeで対応しているので、
のような感じで炎のゆらぎと煙を調整できます。この動画の炎については調整が全くダメですが、基本的に処理においてはSmokeで利用できます。
とりあえず、Fluidは別としても、ビューポートレンダーで対応できる機能で挙動の指定が可能なので景観を作った場合の風や炎や煙や光の表現はよりやりやすくなっており、基本的にリアルな破壊などのような手付で処理をし無くてはならない部部に外だと標準実装機能の範囲内で対応できるようになっています。
あと、今回の作業環境ですが、
【 作業環境 】
■ Core i5 650
■ H55M-Pro
■ DDR3 1333 2GBx3
■ Quadro K620
■ SATA2 HDD
■ WINDOWS 10 x64
■ Blender 2.79b x64
■ Blender 2.8【テストリリース版】 x64
○ ネットブック
Atom N270
DDR2 2.5GB(2GB+512MBオンボード)
Intel 945相当のIGP
SATA HDD
というのが登場していますが、この2つが3DCGを始める人が選んで大丈夫な構成ではありません。というよりも、性能が低すぎてダメなので、フツーの3DCGを始める人向けのPCの選択だとこの4倍以上速いマシンのほうがいいです。というよりも、3DCGツールを使う上でこのスペックでもコレくらいは動くという指標と言う意味でやってるだけなので、予算がある場合や新調する場合だと当たり前に速度のあるマシンを選んだほうが作業時にストレスを感じる状態を回避できます。
なので、コレで動くからPentium Gold G4560やCore i3にQuadro P620を実装したマシンだと3DCGが当たり前にできるのか?というと間違いなくソレはムリですし、以前も書きましたが、この構成ではSculptモデリングの選択肢が消えてしまっているので、そうした事も踏まえると、まともに作業を行ってものを作りたい人が似たような構成を選ぶのは問題があると思います。ただし、【 動いているんだから、ソレ以上のスペックだと間違いなくできますよ 】と言うだけの話ですから、コレでできてソレよりもハイスペックなマシンでできないと言う状況は機材の性能的に発生し得ない内容と言えます。あと、3DCADもこのこうせいではまあくすぺっくがたりませんから、もっといいプロセッサでGPUの性能ももっと上のものを使ったほうがいいのは確かです。