3DCGツールでは、パーティクルを使用できますが、粒子や液体や煙の表現など様々な分野で使用できます。また、ダイナミクスを使って子リジョンで判定を入れて反射させることもできますが、オブジェクトの配置も行えます。

 

 今回は、Blender 2.8を使ってオブジェクトをパーティクルで配置する方法について書こうかなと思います。

 

 今回は、

 

 

のような平面とCUBEを使います。今回は配置を行うので、エディットモードに入って平面を細分化しています。

 

 

CUBEですが、2mx2mx2mの立方体なので、原点は中心点が来ているので、設置を使用と思った場合、移動で1mの場所にすると設置することができます。今回はその状態にして、パーティクルの設定を行います。

 

 座標などは 【 N 】 キーでシェルフを出して設定できますが、数値指定で座標を指定する方法と、ビューポート上での移動で座標を指定する方法があります。

 

 今回は平面からパーティクルを出すので、平面を選択して、パーティクルのタブを選択します。

 

 

パーティクルを振らせる場合は、ニュートン力学でいいのですが、今回は固定なので、物理演算をなしにします。

 

 粒子を散らせる場合、パーティクルはハローを指定しますが、今回は、CUBEを配置するので、オブジェクトを選択します。

 

 

 

オブジェクトに変更して、巣ポートのアイコンをクリックすると、カーソルがスポイトになるので、対象オブジェクトをクリックするとそのオブジェクトが指定されます。

 

 

CUBEを選択しても時間軸で推移する設定になっているので、表示フレームの設定を行います。この時に、

 

 

のように開始委フレームと終了フレームを1にして表示フレーム数以上の寿命にしておきます。そうすると、固定されたオブジェクトが常に表示された状態になります。これでは数が多すぎるので、

 

 

のように数を減らすと、まばらに分散します。オブジェクトの設定時にランダムでサイズを変更するとこんな感じでサイズの異なる状態でオブジェクトを配置できます。

 

 パーティクルですが、デフォルトで拡大・縮小のオプションにはチェックが入っているので、

 

 

 

のようなサイズ変更に対応しています。これを

 

 

のよに全体的に縮小して配置することも可能です。ちなみに、

 

 

のような回転を行っても、パーティクルは軸回転しないので、デフォルトだと対象オブジェクトの拡大・縮小にのみ対応している状態になります。

 

 ただし、パーティクルのオブジェクトのオプションには画像のように複数のチェック項目があり、

 

 

 【 グローバル座標系 】 のチェックを入れると

 

 

のようにパーティクルの対象となっているオブジェクトの座標に合わせて位置の調整が可能になります。グローバル座標の原点を基準として平面の位置関係が成立しているようですが、高さのや位置の調整などが行えます。

 

 オブジェクトの向きですが、エディットモードに入って、天井部分を選ぶとどこに向いているのかがわかりますが、

 

 

のように画像を見てみると、元のオブジェクトとパーティクルオブジェクトの座標軸にずれが生じています。ちなみに、パーティクルは元の形状の情報をそのまま反映するので、

 

 

のように形状を変更すると、パーティクルで適応しているオブジェクトも形状が反映されます。

 

 

な感じで倒れた状態になっていますが、これも速度の中にあるオブジェクトの方向の項目で向きの変更あできます。それを用いて調整すると、

 

 

のように直立させることができます。また、パラメーターを変更することで、

 

 

のような感じで向きを変えることもできます。さらに、ランダムの数値を調整すると、

 

 

のように一定方向を向かない状態に調整することもできます。

 

 

メラの調整                      

 

 0キーでカメラビューにすると、

 

 

のように見えますが、こうℨを決める場合、カメラビューで指定することになります。2.8からシェルフはタブ表示になったのですが、ここのビューの項目を選択すると、ビューのロックの項目があります。

 

 

画像ではチェックが外れていますが、この状態だと枠を画面上においてどのサイズで、どの位置に配置するか?の指定しかできません。その為、

 

 

のように 【 カメラをビューにロック 】 の項目にチェックを入れて調整を行います。構図の調整は、

 

 

  ■ 視点変更 

     【 ホイールドラッグ 】

 

  ■ 大まかなズーム 

     【 ホイールの移動 】

 

  ■ 平面的な視点移動 

     【 SHIFT 】+【 ホイールドラッグ 】

 

  ■ 細かなズームの調整

     【 CTRL 】+【 ホイールドラッグ 】

 

 

で行います。また、ペンタブレットや液晶タブレットにはホイールはありませんから、右上のUIで視点変更をしながら調整をすることになります。とりあえず、より巣値ているので

 

 

な感じで引いてみました。レンダリングをする場合には、【 F12 】キーで演算が始まりますが、これはどのレンダーでも同じです。2.79bだと、GLレンダーの場合、別のボタンでしたが、2.8からは2.79bのGLレンダーのWORK BENCHもF12でレンダリングできます。デフォルトだと外部のウインドウに出力されるので、

 

 

のような形で書き出されます。保存する場合には、テクスチャーペイント後の保存と同じで、 【 F3 】 キーで記録します。この時に、どう言った仕様にするのかを決めることができます。

 

 

 ーティクルの位置を決める           

 

 パーティクルの発生する場所はおオブジェクトの頂点か面になりますが、通常だと全体から出るような仕様になっています。しかし、グループの指定によって、発生個所を限定することができます。

 

 板ポリゴンを選び、エディットモードに入って

 

 

のように範囲選択をして、 【 CTRL 】  + 【 G 】 で選択範囲をグループ化します。この処理を行うと、このグループだけにマテリアルを当てることも可能になりますが、パーティクルのエミッターの範囲指定もできます。これを、テクスチャーペイントのモードで表示してみると、

 

 

のような感じになっています。パーティクルのプロパティータブでプロパティーを開き、

 

 

のように頂点グループの頂点密度のプルダウンを開くと、先ほど登録氏がグループが記録されています。こえrが先ほど選択した面になりますが、テクスチャーペイントで、

 

 

のように追加することもできます。追加後に、頂点グループの密度で先ほどのグループを指定すると、

 

 

のようにウェイトを当てた場所だけにオブジェクトを密集して配置することができます。

 

 頂点グループは、シェイプキーの設定をするときに使用するタブの中にプロパティーがありますが、

 

 

のように登録したグループが追加されます。オブジェクトには複数のグループ指定ができますから、ポリゴンで範囲選択をしたり、テクスチャーペイントで範囲指定をすることで、新規にグループを追加できます。

 

 とりあえず、

 

 

のように範囲選択をして先ほどの方法で、グループを登録します。そして、パーティクルを指定するので、

 

 

のように新規にパーティクルを追加します。そして、

 

 

のように新規に円柱を作ります。そして、先ほど作った円柱をパーティクルで発生させると、

 

 

のように散乱した状態になります。これを、密度で指定することになりますが、プルダウンを開くと、先ほど登録したグループが追加されています。

 

 

この登録されたグループを指定して、円柱の座標を原点に合わせると、

 

 

のようにグループで指定した場所にオブジェクトが集まります。パーティクルは元のオブジェクトの状態を反映するので、モディファイヤーでミラーや配列を使って増やした場合、パーティクルも同様に変化します。

 

 

そして、先日書いたように、回転を行うと座標が変わるので、軸回転を入れると

 

 

のようにパーティクルを散らばった状態に配置することもできます。

 

 こうしたレイアウトですが、必要になるのはパーティクルだけなので、パーティクルとして使用したオブジェクトはレンダリングしないようにします。Eeeveeはビューポートレンダーなので、表示非表示の設定だけで、レンダリング時の表示・非表示を指定できます。Cyclesの場合だと、ビューポートとレンダーでの表示は別ですから、レンダリング時の表示をオフにする必要があります。っ非表示にすると、

 

 

のように円柱がなくなります。

 

 

 焦点距離の変化                  

 

 カメラオブジェクトを指定して、構図を決めることができますが、3DCGツールではレンズの焦点距離が存在しています。

 

 MikuMikuDanceも画角が存在するので、焦点距離と同じく距離の伸長・圧縮効果を利用することができますが、3DCGツールはどのツールもそうですが、現実世界のカメラと同様に焦点距離の変更ができます。

 

 構図を決めてカメラのプロパティーを開くと、デフォルトの焦点距離は人が見た時の距離感と同じ50mmになっていますから、Blenderでは、そのままレンダリングを行うと標準画角での書き出しを行うことになります。

 

 

カメラを固定した状態で焦点距離を変えるだけで状態が変わりますが、焦点距離が16mmだと

 

 

のように広く撮れていますが、距離が遠くなった印象を受けると思います。アクションカムなどがこんな感じになりますが、Lumix DMC-FZ95よりも広く撮れるレンズを使うとこうなります。そして、近年おデジカメの広角側ではスタンダードな24mmだと

 

 

のようになります、広く取れてはいますが、16mmと比較すると狭く感じます。そして、レンズ交換式製品だと、APS-C専用レンズで解放F値がF1.8だと比較的安価なレンズが存在している35mmの場合だと、

 

 

になります。一段と狭くなった印象がありますが、これでも見た目よりも広く撮れています。では、スマホの望遠側などでみかける55mmだとどうなるのか?を見てみると、

 

 

になります。ちなみに、標準レンズの50mmの画角が

 

 

ですから、望遠と言う話になっていますが、目で見た状態とあまり変わらないような画角と奥行きになります。では、これが、ポートレートで使用される注望遠域の80mmになるとどうなるのか?と言うと、

 

 

のようになります。かなりクローズアップされている感じがしますが、後ろのオブジェクトもサイズ感が変わっており、距離も相当近くなっている事が確認できます。ポートレートなどで、大きく背景をぼかしてWS~CUなどで使用したり、撮影者が被写体から離れて背景との距離も調整して全身を入れて背景もぼかした撮り方で使用できる、120mmを用いた場合だと、カメラの位置を全く変えていない状態でも

 

 

のような感じの差が出ます。とりあえず、ワーキングディスタンスを伸ばしてフレーミングした物が下の画像になりますが、画像を見ると

 

 

のように後ろのオブジェクトがかなり大きくなっており、全体的に距離感が近くなっていると感じるはずです。つまり、距離の圧縮効果があるので、奥行きが縮小しているので、望遠レンズで撮影すると密度の高い状態になります。

 

 ちなみに、120mmと50mmですが、

 

【 120mm 】

 

【 50mm 】

 

のような差が出ます。右側にあるおプジェクトは同じ場所でズレがないようにしてありますが、手前のオブジェクトの位置関係を見ると、望遠レンズでは距離の圧縮効果が強く出ている事が確認できます。また、50mmで見た場合、後ろの円柱も結構なサイズに見えますが、120mmで撮った場合には、円柱の圧迫感が強くなっていますから、距離の圧縮効果によって後ろの物は大きく感じます。また、50mmで手前で見切れているオブジェクトと右菓子のオブジェクトの位置関係は同じですから、50mmの写真をトリミングしても120mmの写真とは写っている物が全く違ってしまうので、トリミングと焦点距離の変化による撮影結果ではフレーム内の状態が異なります。

 

 3DCGの場合、表示範囲が存在するので、そこから外れた場合表示さえrません。表示範囲から外れてしまうと

 

 

のようにオブジェクトが見えなくなりますから、特定の距離よりも遠い場合だと、縮尺を小さくして遠方のオブジェクトまで表示するか、手前のセットだけレンダリングして、背景は画像を配置してレンダリングする(か、バックドロップで合成したり、コンポジットノードで合成する)ことになります。

 

使 用した環境                       

 

  ■ Core i5 650

  ■ H55M-Pro 

  ■ DDR 1333 2GBx2+1GBx2(DUAL CH)

  ■ Quadro K620(PCI Express x16 【GEN2動作】)

  ■ SATA HDD

  ■ WINDOWS 10 x64  【1909】

 

【 使用したソフト 】

 

  ■ Blender 2.8 (x64)

  ■ GIMP 2.10.12 (x64)