Blenderとシルエットで描く人物の影 (4)

思ったより長くなりましたが、このシリーズも今日で最終回です。はりきって行きましょう。

 

1.シルエットの作画

f:id:reminica:20160228181315p:plain

昨日撮ったCamera2のレンダリング結果を下絵にして、シルエットを描きます。このとき、元のイラストを見ながら、位置を合わせなければなりません。特に重要となるのが接地面です。具体的には、靴とパイプ椅子の前後の足ですね。ここがずれるとおかしな見た目となるので気合を入れるべきポイントです。と言っても最初はよくわからないので、とにかく描き上げることです。調整はあとからでもできるので。

今回はPhotoshopの多角形選択ツールを使って、囲って塗りつぶすの繰り返しで描きました。やたら角ばってるのはその辺が理由です。もちろん、どんな方法で描いてもいいです。アナログで描いてスキャンしてもいいですし。

しかし1つ問題があります。3Dソフトというのは基本的にベクタ形式でデータを管理しています。よって、シルエットも最終的にはベクタ形式で描く必要があります。こればかりはデジタルでやるしかありません。ソフトとしてはAdobe Illustratorに代表されるベクターグラフィックスソフト(ドロー系ソフトともいいます)を使うことになります。(私は使ったことないですが)フリーだとInkscapeあたりが有名どころです。あるいはBlender上で直接描くという手もあります。

今回は使い慣れているIllustratorを使いました。

f:id:reminica:20160228180627p:plain

作業としてはPhotoshopで描いた下絵を元に、上からなぞるだけです。さすがに角ばった部分は滑らかにしましたが。

Illustratorにはパスファインダーという機能があり、パスの一部をくり抜いたり、逆に合体させたりできます。このあたりを有効利用して1つの(複合)パスを作ります。

塗りつぶし色はBlenderに反映されます。最終的にシルエットはレンダリング対象から外すので、特に何色でも構いません。

 

2.シルエットの保存とインポート (SVG)

完成したらファイルを保存しますが、Adobe Illustrator標準のAI形式とは別にSVG形式でも保存してください。SVGとはScalable Vector Graphicsの略でベクタ形式の画像ファイルフォーマットです。

やり方としてはファイルメニューの「別名で保存」または「複製を保存」を使います。どちらも基本的に同じ機能ですが、「別名で保存」は編集中のファイル名が保存した名前に変更されます。ここでは「複製を保存」を使うことにします。

f:id:reminica:20160228182012p:plain

ファイルの種類でSVGを選んでください。ファイル名を適当に入力し、保存ボタンを押します。

ここでもうひと手間あるのですが、保存したSVGファイルを再度Illustratorで開きます。

f:id:reminica:20160228182253p:plain

保険で過去に作ったパスを残している場合などは、これを削除する必要があります。もちろん消すのはSVGの方だけで、AIファイルの方はそのままで良いです。インポートしないパスを選択して削除してください。(レイヤーパネル下のゴミ箱アイコンをクリックします)

この作業をしておかないと、Blenderでインポートした際に、不要なパスまで読み込まれてしまいます。しかもどれがどれだか分からなくなったりします。(Illustrator上で非表示設定にしても、Blenderは無視して読み込みます)

f:id:reminica:20160228183515p:plain

説明が前後してしまいましたが、保存前にパス中央のX座標とY座標を0に設定しておいた方が良いかもしれません。というのも、この座標もBlender側に反映されてしまうからです。Blender側で0に設定することもできますし、そもそも0でなければならないというものでもないですが、回転をかけるときに変にオフセットがかかっていると、シルエットがあらぬところに飛んでしまうこともありそうなので。

 

次はBlender側の操作になります。作ったSVGファイルをインポートします。デフォルトでは画面左上にあるInfoウィンドウを使いますが、もしInfoウィンドウが見当たらない場合は、ウィンドウ種別アイコンをクリックしてInfoウィンドウを選択してください。

次にInfoウィンドウのメニューからFile-Import-SVGを選択します。

ファイル選択画面が表示されますので、SVGファイルを選択して、Import SVGをクリックします。フォルダを変えたい場合は、上のテキストボックスにフォルダ名を入力してください。

f:id:reminica:20160228184148p:plain

ここまでの手順で、SVGファイルがインポートされ、アウトライナーウィンドウにCurveという名称の曲線が追加されます。すでにCurveというオブジェクトがある場合は、Curve.001等の名前になります。

 

3.Blenderの曲線について

ここで曲線について説明しておきます。Adobe Illustratorのパスは一般にベジェ曲線と呼ばれており、Blenderにも同じくベジェ曲線というオブジェクトがあるため、SVG経由でインポートした場合は、当然ながらベジェ曲線としてインポートされます。これはいわゆるメッシュではなくカーブと呼ばれています。メッシュは直線であり、カーブは曲線です。立方体、円柱、円錐、球などはメッシュであるため、曲線要素が一切ありません。

え? 円柱や球が直線? と思われるかもしれませんが、直線なのです。実際Blenderで円柱を作った場合、実際に作られるのは正32角柱などです。拡大すれば分かりますが、どこにも曲線要素はありません。モディファイアなどで滑らかにできるので、見た目上は限りなく円柱にできますが、データ上は直線の集まりなのです。

これに対し、カーブは本当に曲線のデータです。ここがメッシュとの違いです。しかし3DCGにおいて、曲線というのは扱い難い構造であり、実際Blenderでは通常の円柱オブジェクトの円の部分をベジェ曲線に置き換えるようなことはできません。曲線とメッシュをつなげた立体は作れないのです。(曲線に厚みを持たせて円柱としてレンダリングすることはできますけどね。データ構造的に円柱にすることができないという意味です)

 

4.シルエットの初期設定

インポート後のシルエットは、位置も大きさも出鱈目なため、シーンに合わせた調整が必要ですが、まずは図形の中心を原点に合わせることから始めます。(この手順は必須要素ではないです)。3D ViewのメニューバーにObject ModeとEdit Modeを切り替えるリストボックスがあるので、これをクリックしEdit Modeに変更します。(3D VIEWウィンドウにマウスカーソルを置いてTABキーでも変更できます)

f:id:reminica:20160228194510p:plain

プロパティシェルフ内のTransformパネルにMedianという項目がありますので、ここのX,Y,Zを0に設定します。Illustrator上で(0,0)にしておいた場合は、多分0になってると思います。

さて、このままではシルエットが小さくて視認性が悪いので、ざっくりと大きくしておきます。3D ViewをObject Modeに戻して、プロパティシェルフ内のScale値を変えます。これはオブジェクトの拡大倍率を表します。7を設定すると本来の7倍の大きさになります。(7倍というのはあくまでも例なので、倍率は実際のシルエットを見て判断してください。あとで調整するので、この段階ではざっくりでいいです)

 

●キーボードによる拡大操作(3D Viewウィンドウにマウスカーソルを置いてから)

  • 例1:7倍 → s7[ENTER]
  • 例2:0.8倍 → s0.8[ENTER] または s.8[ENTER]
  • 例3:3分の1→ s/3[ENTER]
  • ※入力内容は3D Viewの最下部に表示される
  • ※入力中にBS,DEL,左右カーソルキーで数値の編集可
  • ※入力を中止する場合は[ESC]キー

f:id:reminica:20160228195200p:plain

オブジェクトの拡大について少し補足しておきますが、Object Modeにおける拡大とEdit Modeにおける拡大は意味が異なります。Edit Modeではオブジェクトが本当に大きくなりますが、Object Modeでは本来の大きさを変えないまま、見かけ上拡大縮小します。その意味ではモディファイアのような非破壊的効果を生み出していると言えそうです。両者の違いは、またいつか説明します。この違いを知らずにはまったことがあるので。

 

5.アクティブカメラの変更

ここで昨日設定したCamera2の出番です。シルエットは光源から見たときに正常に見えるよう描かれているため、光源を視点とするCamera2からも正常に見えなければなりません。

それを確認するためにはCamera2をアクティブカメラに設定する必要があります。アクティブカメラとは、レンダリング時に使うカメラのことです。アウトライナーウィンドウでカメラオブジェクトの右側にあるアイコンに白い丸が書かれていれば、それがアクティブカメラです。下図の場合Cameraがアクティブであることを意味します。

Camera2をアクティブにするには、まずCamera2を選択します。これは単純に文字の部分をクリックするだけです。Camera2が白文字であれば選択状態であることを意味しますが、選択しただけではアクティブにはなりません。

続けて、3D ViewウィンドウのメニューでView-Cameras-Set Active Object as Cameraを選択します。あるいは3D Viewウィンドウ上にマウスカーソルを置いてから、Ctrl+Numpad 0を押します。(Numpadとはテンキーのことです。テンキーの0と普通の0キーは違いますので注意してください)

f:id:reminica:20160228200745p:plain

この操作でCamera2がアクティブになります。また3D Viewが自動的にCamera2による視界に切り替わります。現段階ではシルエットは地面に寝たままですが、これを起こします。

シルエットはカメラと正対させる必要がありますが、これはカメラの回転角と同じ角度をシルエットの回転角として設定するだけで済みます。

f:id:reminica:20160228201618p:plain

設定が終わると、シルエットはパースによる変形が起こらず、2Dソフトで作ったときと同じ形状で見えるようになります。(透視図法的に言えば、1点透視相当です)

 

6.シルエットのサイズ、位置調整

ここで一旦視点を切り替えて、Z座標を調整します。下図に示すメニューを選ぶか、Numpad 1を押すことで、正面図相当に切り替わります。Blenderにおける正面とはY軸+方向を指します。このままでは透視投影のままなので、続けてNumpad 5を押して、平行投影に切りかえます。3D Viewの左上にFront Pers Metersなどの文字が表示されていますが、これらの意味は下図の通りとなります。この表示を参考にして現在の表示モードを確認してください。

f:id:reminica:20160228202027p:plain

 

塗りつぶした立方体のままでは視認性が悪いので、今後の説明ではワイヤーにします。またシルエットの色も変えます。変更方法はあとで説明します。

さて、ここからは職人技になります。まずはZ座標を変更して、立方体とシルエットの中心が同じぐらいの高さになるようにします。これは大きさを調整しやすくするためです。(下図1列目)

次にシルエットの大きさを立方体と同程度にします。これはScaleパラメータで調整します。併せてZの値も微調します。図のようにFront Viewで立方体と大体あっていれば問題ないと思います。(下図2列目)

f:id:reminica:20160228202622p:plain

1つ重要なことがあります。足を地面(床)に陥没させないようにしてください。立方体の位置から分かると思いますが、床はX軸(赤いライン)の高さにあり ます。ここより下に足が突き出てしまうと、足が地面に食い込んでいることになり、レンダリングした際に足がちょん切れてしまいます。もちろん影も正常に落ちません。よって、シルエットは必ず地面より上に配置してください。同じ理由で左の壁よりも手前に配置する必要があります。(上図1~2列目)

ここからはFront ViewではなくCamera2を使って調整します。Camera2に切り替えるには(現在アクティブであるとして)3D View上でNumpad 0です。

Zはいじらず、XとYのみを変更して、箱に収まるようシルエットを移動させていきます。良さそうな位置になれば、もう1台のカメラに切り替えた上でレンダリングして、イラストと合わせてみてください。このとき接地面を特に気にしてください。接地面の影がずれていると、素人目にもおかしな絵になります。(下図は上図の右中央と同じものです)

f:id:reminica:20160228204111p:plain

 

7.3D VIEWにおけるワイヤー表示

立方体を3D VIEW上でワイヤーにする方法ですが、立方体を選択した状態でプロパティウィンドウのヘッダーにある立方体アイコンをクリックして、Displayパネルを開いてください。その中にMaximum Draw Typeという項目がありますので、ここをWireにします。Solidにすると通常の塗りつぶした表示になります。なおSolidにしたまま、その上にあるWireチェックボックスをONにすると、塗りつぶした上でワイヤーも表示されます。

ついでに説明しておきますが、Wireチェックボックスの隣にあるX-rayをONすると、他の物体の奥にある場合でも隠れずに表示されるようになります。ただし、他の物体のX-rayもONにした場合はやはり隠れてしまいます。

これらの設定はすべて3D VIEW上での話であり、レンダリング結果には影響しません。

f:id:reminica:20160228204243p:plain

シルエットの色を変更したい場合は、シルエットを選択した状態でプロパティウィンドウのヘッダーでマテリアルアイコンをクリックし、DiffuseとSpecularの各パネルの色と強さを設定します。こちらはマテリアル設定であるため、レンダリング結果に反映されます。(シルエットの色変更は編集時の視認性を確保するためです。シルエットは最終的にレンダリング対象から外します)

 

8.影のみをレンダリングする方法

レンダリングで影のみを得る方法について説明します。初期状態のままでは、壁、シルエット、立方体がすべてレンダリングされてしまいます。これを1つずつ消していきます。

立方体をレンダリング対象から外すのは簡単で、アウトライナーウィンドウで立方体オブジェクトの右にあるカメラアイコンをOFFにするだけです。このアイコンをOFFにすると、そのオブジェクトはレンダリング対象から外されます。

他のオブジェクトも同じ方法と行きたいところですが、そうは問屋が卸しません。なぜならシルエットを除外すれば影を落とす要因が消滅し、壁を除外すれば影を受ける物体が消滅してしまうからです。その結果、影がレンダリングされなくなります。よってこれらのオブジェクトは別の手段を取る必要があります。

f:id:reminica:20160228205248p:plain

シルエットに関しては、昨日も説明しましたが、マテリアルのShadowパネルでCast Onlyをチェックします。これで「物体は描かないが影は落とす」という設定になります。(正確には、Castが影を落とす、Cast Onlyが物体を描かない、です)

次は壁ですが、同じくShadowパネルのShadows Onlyにチェックを入れます。この設定は「物体は描かないが、受けた影は描く」という設定になります。影が薄くなって困るという場合は、その下のリストボックスでもShadow Onlyを選ぶと良いようです。

f:id:reminica:20160228221455p:plain

さらに背景も透明色にしておく必要があります。 プロパティウィンドウのヘッダー左端のアイコンをクリックしてください。ShadingパネルのAlphaでTransparentを選ぶと、背景が透明になります。

レンダリング結果の解像度が足りない場合は、左図の倍率を100%、200%等に上げてください。

 

9.その他の設定

f:id:reminica:20160229132542p:plain

プロパティウィンドウのシーン設定についても説明しておきます。SceneパネルのCameraでアクティブカメラの変更ができます。3D Viewウィンドウ上でのCtrl+Numpad 0と同じですが、こちらは自動的にカメラ視点に切り替わらないという違いがあります。ただし、すでにNumpad 0でカメラ視点になっている場合は、アクティブカメラに視点が切り替わります。

Unitsパネルは表示単位の設定です。デフォルトはNoneであり、単位なしです。これに対して、Metricはメートル法になります。これを選んでおくと、物体の寸法などを指定する際に40cmなどの感覚的に分かりやすい単位で指定できるようになります。Imperialはアメリカ等で使われているインチやヤードといった単位です。

単位の変更は、表示上あるいは数値入力上の表面的な変化をもたらすだけで、内部のデータ値が書き換わるわけではないようです。(多分)

 

10.完成

異常に長い解説になってしまいましたが、以上で終わりです。

あとはペイントソフトで不透明度を調整すれば完成です。濃淡を付けたり、ぼかしたりの調整はお好みで。

f:id:reminica:20160228210933p:plain

Blenderとシルエットで描く人物の影 (3)

f:id:reminica:20160227090407p:plain

昨日に引き続きBlenderで影を描く説明をしたいと思います。今日は以下の2つについて説明します。Blenderの操作説明が主になります。

  • 光源の設定
  • 光源を視点とするカメラの設定

f:id:reminica:20160227074411p:plain

上図はOutlinerウィンドウ(デフォルトでは画面右上)です。シーンに配置されるオブジェクトの一覧がここに表示されます。今回使うのは、赤字で描かれているものだけです。

シルエットを使って影を描く場合、カメラは2台必要です。1つは絵の視点となるカメラ(Camera)、もう1つは光源を視点とするカメラ(Camera2)です。Cameraの設定は昨日行いましたので、今日はCamera2の設定を行います。

 

1.光源の設定

まずは光源の設定を行います。OutlinerウィンドウでLampを選択してください。(文字が白字のときが選択状態を表します)。続けてOutlinerウィンドウの下にあるプロパティウィンドウのヘッダーから光源のアイコン(下図参照)をクリックします。

f:id:reminica:20160227075114p:plain

Lampパネルで光源の種別を選択します。デフォルトでは点光源(Point)になっていますが、今回は太陽光、すなわち平行光源(Sun)を使うことにします。

その下には光の色と強さの設定があります。デフォルトのままで良いので、そのままにします。Specularというのは俗に言うハイライトのことですが、3DCGではスペキュラ光と呼ばれます。これに対し、Diffuseは拡散光を指します。詳細はあとで説明します。

Shadowパネルでは(陰ではなく)影の設定を行います。No Shadowを選択すると、影が付かなくなります。デフォルトはRay Shadowであり、今回はこちらを使います。影の色を変更すると、黒以外の色付きの影を落とすこともできます。

影を落とす設定は物体側にもあり、影を落とす物体、落とされる物体の両方で影をONにしないと、影は描写されません。しかしデフォルトでは両方ONになっているので心配は要りません。

 

SpecularとDiffuseに関する補足です。下図を見てください。左がSpecularとDiffuseを両方ONにした状態であり、デフォルトはこの設定です。真ん中はSpecularをOFFにしたもの。さらに右はDiffuseもOFFにしたものです。

f:id:reminica:20160227082321p:plainf:id:reminica:20160227082325p:plainf:id:reminica:20160227082327p:plain

つまり、Diffuseが陰影を付ける上での基本設定となり、Specularがハイライトの設定になります。同じ設定が物体側にもあり、光源と物体の両方でONにした場合のみ、ONになります。今回はデフォルトのまま(両方ON)でいきます。

 

次に光源の位置と回転角を設定します。設定画面を呼び出すには、3D Viewウィンドウにマウスカーソルを置いた状態でNキーを押します。

この設定は点光源と平行光源で異なります。点光源の場合は、位置のみが意味を持ち、回転角は無視されます。逆に平行光源の場合は、位置が無視され、回転角のみが意味を持ちます。(平行光源とは太陽光のような遠い光源を指し、位置を真面目に設定するならば無限大です。太陽だとしても150000000kmになります。このような巨大な値は扱いにくいので、位置設定は無視し、回転角のみで設定する仕様となっています)

f:id:reminica:20160227075121p:plain

今回は平行光源を使うため、回転角のみを設定します。角度の概念は昨日説明したカメラの場合と同じであり、すべてを0°に設定すると真下を向きます。しかし真下の光は影を落とさないため、角度は必ず指定する必要があります。ここではXとZに共に60°を設定するものとします。カメラ側にも同じ設定を行うため、Yは極力0°になるよう設定してください。0°以外を設定するとカメラ上側が変な方向を向くので。(Locationは設定しても無意味なので無視してください)

新たに設定した光源を使って影を描くとこのようになります。影の落ちる向きは光源の回転角に依存しますので、向きを変えたいときは回転角を変更してください。(点光源の場合は位置に依存します)

f:id:reminica:20160227084555p:plain

光源の設定は以上です。

2.立方体のマテリアル設定

次にカメラの設定を行いたいところですが、その前に立方体のマテリアル設定について説明しておきます。マテリアルとは材質と言う意味ですが、具体的には物体の色や反射光の強さなどを設定できます。物体表面に画像(テクスチャ)を貼り付けることもできますが、今回は行いません。

立方体のマテリアルを設定するには、事前にOutlinerウィンドウで立方体を選択しておく必要があります。(立方体がまだ作られていない場合は、3D ViewのツールシェルフでCreate - Cubeを選択します)

その後、プロパティウィンドウ(デフォルトではOutlinerウィンドウの下にあります)のマテリアルアイコンをクリックすると、以下の表示になります。

f:id:reminica:20160227085357p:plain

初期状態ではマテリアルが未設定になっているため、+Newボタンを押して新規マテリアルを追加します。(ちなみに起動直後に配置されている立方体はマテリアル設定がされています)

右端にも+ボタンがありますが、こちらはマテリアルスロットの追加ボタンになります。マテリアルスロットとはマテリアルをセットするための入れ物であり、マテリアルの実体ではありません。順序としては、マテリアルスロットを作成 → マテリアルスロットを選択→ マテリアルを作成、となります。しかしスロットがない状態で新規マテリアル追加ボタンを押すと、自動的にスロットが作成されるので、スロット追加ボタンは押さなくても問題ありません。(2個以上のマテリアルを作る場合は、スロットの追加が必要です)

マテリアルを追加すると、以下の画面になります。

f:id:reminica:20160227090226p:plain

上から順番に説明します。Surfaceは面を描く設定であり、デフォルトではこちらが選択されています。しかし今回はWireを選びます。これは辺を描く設定です。詳細はあとで説明します。

DiffuseとSpecularは光源のときに説明しましたが、拡散光とハイライトの設定になります。Diffuseの色が物体表面の色を指します。緑にすると、緑色の立方体が描かれます。Intensityは反射光の強さであり、デフォルトは0.8になっています。そのままでも良いのですが、今回は1を設定しました。またハイライトは必要ないため、0を設定しています。(0を設定するとハイライトは表示されません)

Shadingパネルは陰の設定です。Emitは放射光の強さであり、光源によらず物体を発光させたい場合に設定します。0.2が設定されていますが、デフォルトのままで構いません。(デフォルトは0であり発光しません)

Shadelessにチェックを入れると陰を描きません。このとき真っ黒になるわけではなく、Diffuseの色で塗りつぶされます。立体形状が分かりにくくなるので、今回は陰を描かせることにします。

Shadowパネルは影の設定です。デフォルトは上図の状態になっています。Receiveは影を落とされる側の設定であり、チェックを外すと他の物体による影が落ちなくなります。Castは影を落とす側の設定であり、チェックを外すとこの物体による影が落ちなくなります。Cast Onlyにチェックを入れると、物体を描きません。影だけを表示したいときに使います。(昨日の説明で使いました)

 

細かい部分を補足していきます。SurfaceWireの違いですが、下図の左がSurface、右がWireです。

f:id:reminica:20160227090357p:plainf:id:reminica:20160227090407p:plain

Shadelessにチェックを入れると次のようになります。陰が付かなくなり、Diffuse色で塗りつぶされます。

f:id:reminica:20160227092321p:plain

Shadowパネルの設定の違いによるレンダリング結果は以下の通りです。右下のみ影を受ける側の物体のマテリアル設定になります。この場合、床面のマテリアル設定です。その他は影を落とす側、すなわち立方体のマテリアル設定になります。

f:id:reminica:20160227092545p:plainf:id:reminica:20160227093546p:plainf:id:reminica:20160227093552p:plainf:id:reminica:20160227093558p:plain

影の設定はもう1つあって、プロパティウィンドウのヘッダー左端にあるカメラのアイコンをクリックすると、Shadingパネルの中にShadowsという項目があります。このチェックを外すと、シーン内のすべての影が落ちなくなります。デフォルトではONになっているので影が落ちます。一括して影を消したいときに利用します。

f:id:reminica:20160227094500p:plain

3.立方体のモディファイア設定

同じ大きさの立方体を複数積み上げたい場合、配列モディファイアという機能を使うと便利です。Outlinerウィンドウで立方体を選択した状態で、Propertyウィンドウのモディファイアアイコンをクリックします。ここでAdd Modifierをクリックすると、下図の画面が表示されます。

f:id:reminica:20160227094804p:plain

Arrayをクリックすると、配列モディファイアが追加されます。画面は下図の状態になります。

f:id:reminica:20160227094817p:plain

今回は立方体を3個積み上げるため、Countに3を設定します。この数は元の立方体も含みます。

さらに立方体を並べる方向と間隔を指定します。Constant Offsetにチェックを入れると、実寸指定で間隔を指定できます。例えば1m置きに物体を並べたい場合は、こちらを使用します。しかし今回は立方体を隙間なく並べたいので、その場合はRelative Offsetにチェックを入れます。こちらは物体の大きさを1とした単位で指定します。縦に積む場合は、X方向とY方向が0、そしてZ方向が1になります。

設定したモディファイアを削除したい場合は右上の×ボタンをクリックすれば良いのですが、一時的に無効にしたいこともあります。その場合はABCのアイコンをクリックします。意味は左記の通りです。

 

モディファイアの効果を確認してみましょう。下図の左が配列モディファイアなし。右がありです。データ上、立方体は1個しかありませんが、モディファイアの機能で3個に増殖しています。実際に立方体を3個作っても良いのですが、モディファイアを使った方が管理や編集が楽です。

f:id:reminica:20160227095149p:plainf:id:reminica:20160227090407p:plain

 

4.光源を視点とするカメラの設定

少し脇に逸れましたが、いよいよ本題であるカメラの設定を行います。

まずはカメラを追加する必要がありますが、最初に3D Viewウィンドウの説明をしておきます。起動直後に画面左側中央に大きく表示されるのが3D Viewウィンドウです。ここにはモデリングレンダリングの対象となる3次元空間が表示されます。

ウィンドウの種別は各ウィンドウの左上または左下に表示されるアイコンをクリックすれば変えることができます。この機能のおかげで画面レイアウトの自由度は高いのですが、初心者が混乱する元にもなっています。

f:id:reminica:20160227112332p:plain

さて、3D Viewには左右の端に「ツールシェルフ」「プロパティシェルフ」と呼ばれる2つのウィンドウを表示させることができます。この表示は下図の通り上部左右端にある+アイコンをドラッグするか、キーボードのTまたはNキーを押します。あるいは左下にあるViewメニューを開いて、中のメニュー項目を選択しても構いません。

f:id:reminica:20160227101248p:plain

下図が表示されたツールシェルフ(左端)とプロパティシェルフ(右端)になります。ここには重要な機能が詰まっていますので、頻繁に呼び出すことになります。

1つ注意があります。F12キーを押すとレンダリングができますが、レンダリング直後は3D Viewが勝手にUV / Image Editorウィンドウに切り替わってしまいます。そちらにもツールシェルフやプロパティシェルフはあるのですが、3D Viewに表示される内容とは違いますので気を付けてください。ウィンドウを3D Viewに戻すにはESCキーを押すか、左下のアイコンをクリックしてウィンドウ種別を切り替えます。f:id:reminica:20160227100537p:plain

カメラを追加するには、ツールシェルフ内のCreateタブをクリックし、一番下にあるCameraをクリックします。Add Primitiveの先頭の▼をクリックすると、その下の内容が折りたたまれ非表示になるので注意してください。何も表示されていないときは、もう1度三角をクリックすると表示されます。

f:id:reminica:20160227100605p:plain

カメラを追加すると、アウトライナーウィンドウに表示されます。Cameraは初期状態からあるカメラで、Camera.001が新規に追加されたカメラです。文字の部分をダブルクリックすれば、名前の変更ができますので、分かりやすい名前にしておいてください。ここではCamera2という名前に変更するものとします。

f:id:reminica:20160227102306p:plain

Camera2を選択状態にした上で、プロパティウィンドウのカメラ設定アイコンをクリックします。すると下図の画面が表示されます。

f:id:reminica:20160227102347p:plain

設定には名前を付けることができますので、好きな名前を付けてください。特に困らないのであれば、デフォルトのままでも構いません。(説明していませんでしたが、マテリアルやモディファイアにも名前を付けることができます)

Lensパネルは重要です。ここで透視投影、平行投影、パノラマのいずれかを選択します。今回は光源として太陽光(平行光源)を使っているため、設定を合わせるため平行投影を選択する必要があります。点光源を使う場合は透視投影を選んでください。以降は平行光源であると仮定して話を進めます。

透視投影の場合は画角の設定が必要となりますが、平行投影には画角という概念がありません。(しいて言えば画角は0度です)。しかし代わりのパラメータがあります。Orthographic Scaleにはカメラが捉える範囲を指定します。Shiftは表示範囲のセンター位置を、Clippingには前方クリップ面と後方クリック面までの距離を設定します。

(クリップ面に関しては、パースフリークス―数学―3DCGの「視錐台」というセクションに詳しい解説があります)

下図の左はデフォルト設定、真ん中はOrthographic Scaleを12に変更したもの、右はShift Xに0.1を設定したものです。Scaleは大きくなるほど広範囲が映ります。Shiftはセンター位置をずらすだけで映る大きさは変わりません。

f:id:reminica:20160227104000p:plainf:id:reminica:20160227104006p:plainf:id:reminica:20160227104011p:plain

今回はデフォルト設定のままでいきますが、状況によるので必要に応じてScaleやShiftを設定してください。 Clippingもデフォルトのままで大丈夫だと思いますが、表示が切れてしまう場合は、設定を変えてみてください。

f:id:reminica:20160227102353p:plain

もう1つの重要な設定は位置と回転角です。この設定は3D Viewウィンドウの右端プロパティシェルフの一番上にあるTransformパネルです。ここは単純に光源と同じ設定を行います。太陽光(平行光源)の場合は回転角のみが意味を持ちますので、回転角の値を光源と同じに設定します。点光源の場合は、位置のみが意味を持ちますので、光源と同じ位置を設定し、回転角は物体が映る角度を好きに設定してください。

問題は平行光源における位置の設定です。真面目に解釈すれば無限の彼方にあるのですが、Blenderでは便宜上、物体の近くに配置します。これはすでに説明した表示領域のセンターやスケール、クリップ面の設定などが、位置の影響を受けるためです。

これに関しては具体的な数値を指示できませんので、立方体が映る位置を見つけて設定してください。回転角を変更してはいけないという制約があるのを忘れないでください。

 

次回に続きます

今日は光源を視点とするカメラの設定までです。このカメラを使って立方体をレンダリングしたものが、下の左図です。明日はこれを元に右図に示すシルエットを描きます。

f:id:reminica:20160227105526p:plainf:id:reminica:20160227105544p:plain

このシルエットは元のイラストを頼りに描くことになります。ここで箱が必要な理由がお分かりいただけるかと思います。箱がないと、あまりにも手がかりがなさ過ぎて描けないのです。詳細は明日!

f:id:reminica:20160226135115p:plain

Blenderとシルエットで描く人物の影 (2)

昨日の続きです。今日はカメラの合わせ込みを行います。下図をご覧ください。左は手描きで描いたイラストであり、右がBlenderレンダリングした同じシーンです。両者の壁や立方体の位置はほぼ同じになるよう調整する必要があります。

f:id:reminica:20160226135115p:plainf:id:reminica:20160226135124p:plain

影を落とす上で重要なのは、影の投影先となる平面および影を作る要因となる物体の位置です。物体の位置は立方体で示すものとします。直方体でも良いのですが、立方体の方が辺の長さが1種類しかないので、管理がし易いと思います。立方体は一辺が40cm角となっています。これは描き手が決める必要があります。もちろん一般的なパイプ椅子や人体の大きさを勘案して不自然でない数値にしなければなりません。(デフォルメは人体パーツの大きさがリアルと異なるので注意です)

影の投影先となる平面は床面と左の壁になりますので、右や奥の壁は本当は要りません。雰囲気を出すために並べましたが、今後の解説では撤去します。

f:id:reminica:20160226140332p:plain

まずは2つの平面と立方体を配置します。壁の高さや廊下の幅は影を描く上で重要ではないので、適当に決めても問題ありません。ただし、立方体から壁までの距離は厳密な合わせが必要です。

なお、ここでは物体配置のルールとして、Y軸(緑軸)+方向(奥向き)がカメラの奥行方向になるものとします。配置ルール次第で、カメラの回転角パラメータの設定値が変わるので、注意すべきポイントです。

f:id:reminica:20160226153024p:plain

まずは平面図(空間を真上から見た図)を描きます。右図は左図の拡大図であり、どちらも同じものを表しています。(廊下の奥行や幅、ドアの幅は本当は必要のない情報です)

平面図上で絶対に必要な長さは立方体が40cm角であることと、立方体から壁までの距離が20cmであるということです。さらにカメラの位置と向きも知る必要があります。これらの図面は透視図を元に作成が可能ですので、最初に設定を作らずに描き始めた場合でも慌てなくて良いです。(通常はこんな厳密な設定なんて作らないと思うので)

f:id:reminica:20160226153038p:plain

さらに必要なのが側面図です。こちらはカメラ座標系で表現されており、視心(VC)と直交する方向から見た図です。立方体が2つの長方形で表されているのはそのような理由です。しかし、今回は側面図上の立方体は使いません。

ここで必要なのは、床に取った137.4cmという値と、アイレベルである128.7cmです。これらの求め方も後ほど説明します。

f:id:reminica:20160226152247p:plain

Blenderにおけるカメラの位置と向きについて説明します。上のSSは3D Viewのプロパティウィンドウ最上部に表示されるものです。(プロパティウィンドウは初期状態で非表示ですが、3D View上にマウスカーソルを置いた状態でNキーを押すと表示されます)

設定すべきパラメータは6つありますが、回転角Yは多くの場合0°でいけますので、実質は5つです。残り2つの回転角も簡単に解決できます。下図は透視図法によって3つの消失点とSP(カメラの位置)を作図したものです。図中のSPの角度が回転角Zを、SPvの角度が回転角Xを表します。(この図の作図法についてはパースフリークスー3点透視―画角の測り方を参照してください)

このうちSPvの角度である22°は俯角を表しており、Blenderで設定する場合は90°から引く必要があります。数学の用語では余角といいますが、とにかく90°-22°=68°が設定値になります。

またSPの角は82°ですが、この余角8°を設定することになります。ここは常に余角というわけではなく、平面図との関係で考える必要があります。VP2方向は廊下の奥行方向の消失点であり、3D上ではY軸+方向に相当します。これは、そのように物体を配置したからです。回転角Xを適用したあとの回転角ZはY軸+方向が0°になりますので、そこを基準として左右にどれだけ振れているかを考えることになります。今回の場合はVP2に対して、VCは8°左側にありますので、8°左に回転させることになります。

なお、回転の順序はデフォルトでXYZ Eulerとなっており、これはグローバル座標系において、X軸中心→Y軸中心→Z軸中心の順に回転させるという意味です。一般に3次元空間の回転は順番を変えると結果が変わりますので、この設定は重要です。

f:id:reminica:20160226141329p:plain

カメラの回転に関して補足しておきます。Blenderではすべての回転角を0°に設定したときカメラは真下を向く仕様となっています。(透視図法でいうところの俯瞰一点透視になります)

回転角XというのはX軸(赤軸)を中心とする回転を指しており、下図のように回転します。左図は回転前、右図は回転後です。68°回転させると、水平方向を基準としたとき22°斜め下を向いていることになります。オレンジの塗りつぶした三角形はカメラの上方向を示しています。

f:id:reminica:20160226144251p:plainf:id:reminica:20160226144255p:plain

回転角Zも見ておきましょう。Z軸(高さ方向)を中心の回転を指しますので、下図のように回転します。ここでは8°回転させています。

f:id:reminica:20160226144259p:plainf:id:reminica:20160226144302p:plain

通常の3点透視であれば、Xで仰俯角の余角を、Zで水平方向の角度を指定することになります。2点透視の場合はXを90°に設定し、 Zは3点透視と同じく水平方向の角度を設定します。1点透視の場合は、Xが90°、Zが0°になります。(いずれもYは0°)

f:id:reminica:20160226145924p:plain

回転角は解決しましたが、問題はカメラの座標です。実はこれも透視図から読み取ることができます。まずは、作図上の基準となる奥行を決める必要があります。ここでは立方体の手前かつ地面に接している頂点を選ぶことにしました。ここを基点と呼ぶことにします。PPは基点を通る奥行に配置し、今後は基点の奥行、つまりPP上に作図点を取ることにします。

まず基準となる長さを取っておきます。寸法的に信頼できるものは立方体の一辺しかありませんので、図のように点Xを取り、基点からXまでの距離を求めます。カメラは左方向に8°回転していますので、この長さは40cmをcos8°で割った値になります。すなわち

40 / cos8°≒40.4[cm]

となります。

基準が出来たので、あとは必要な長さを順次図っていきます。

No.線分長さ[cm]
0 基点―点X 40.4
1 基点―点A 11
2 点A―点B 67.9
3 点B―SPv 175.6

これらは透視図上の線分に物差しをあて、長さを測った上で、基準となる40.4cmと比較した比例計算になります。なぜなら、すべての作図点はPP上に取っているからです。ここで点B-SPvの長さは90°視円錐の半径であり、SPからPPまでの距離と一致します。

f:id:reminica:20160226153038p:plain

以上を踏まえると、側面図(再掲)を描くことができ、アイレベルである128.7cmと床面上での点Aからカメラまでの距離137.4cmは、やはり側面図上の実寸を使って比例計算で求めることができます。

ここまででカメラのZ座標は確定しました。なぜならZ座標はアイレベルと一致するからです。XとYは計算がもう少し必要です。

f:id:reminica:20160226153024p:plain

さらに平面図も再掲します。必要なのは図に示す赤い値ですが、これらは側面図で求めた137.4cmという値を書き入れると求めることができます。値は基点を基準としたカメラのX座標とY座標を表しています。これらの長さも平面図上の実寸に対する比例計算ですので、作図すれば簡単に求めることができます。

f:id:reminica:20160226152247p:plain

最終的なカメラパラメータ(再掲)は上記の通りです。基点の座標は(-0.275, 0, 0)となるようシーンを作成したため、この座標と相対座標(0.3,-1.345,1.287) [m]を加算した値がカメラの位置になります。

 

これでカメラの設定は終わりです。あとはレンダリングを行えば、最初に掲載した画像を得ることができます。

今日は計算が多めで大変な手順に見えたかもしれませんが、実際にやってみるとそれほどでもないです。ほとんどは作図だけで解決するので、電卓を叩くことはあまりありません。

さて、これで準備が半分ぐらい整いました。次回は光源の設定と影のシルエット作成を説明したいと思います。