[Blender 2.8] メッシュオブジェクトを大量複製できる、配列モディファイアーの機能と使い方のご紹介

今回の記事は、Blenderでオブジェクトを複製する方法の中で、一度に大量に作る場合に便利な『配列』というモディファイアーについてです。

以前も”複製”という点で似ている 『ミラー』モディファイアーという機能について取り上げました。

ですが、『ミラー』はあくまで左右対称のオブジェクトを作る時に真価を発揮する機能です。シンメトリーを実現するのには向いていますが、反転させたりせず、しかも“大量”のオブジェクト複製には向きません。

そこで今回は、大量のオブジェクトを一度に”複製”する方法を、『配列』モディファイアーに備わっている色々な機能を試しながら書いていきます。

※2019年12月6日 加筆修正を行いました。
※2019年12月10日 加筆修正を行いました。

目次

一括管理で大量生産!配列とは?

大量生産 生産ライン マシーン 工場
配列とは? イメージ

プログラミングの経験がおありの方であれば、ピンとくるかと思われます。

ざっくりと説明すれば、

Q.『配列』とは?

A.「ある一定の規則的なデータを大量に保有している、データの集合体」

と言えます。

言語によって記述の方法に違いがあったりもするのですが、大体、↓のような感じになります。

int a[] = { 3, 5, 11 };

この場合は、整数という形が決まっているデータが沢山入っている訳ですね。こういった形でデータが一か所に纏めて保管されていれば、いざ扱う時に同じような処理をしたい場合、まとめて変化を加えられるので、大量のデータを管理するのに優れています。

同様に、Blenderでの『配列』モディファイアーも、大量に同じ形のオブジェクトを生成、管理するのに向いている複製方法なわけです。

ちなみに、『配列』について触れている以前の記事です。ご興味湧かれた方は合わせてご覧ください!

おまけ: 複数のモディファイアーの順序設定

Blender ミラー 配列 Array モディファイアー 3DCG モデリング
モディファイアー一覧

ちなみに、今回も花びらのモデルを使うのですが、花びらのモデルにはあらかじめ『ミラー』モディファイアーも使用されています。

勿論、モディファイアーは、一つのオブジェクトに複数個使用することが可能です。『ミラー』と一緒に『配列』のモディファイアーも共存できるのですが、そのようなモディファイアーが複数個存在する場合、1点気を付けて欲しい事があります

モディファイアーの”優先順位“についてです。

例えば今回は、『ミラー』の後に『配列』を付け足した場合、↑の画像のような感じに表示されます。

恐らくは、違和感なく、思い通りに表示されているかと思わます。

ですが、もし、『配列』と『ミラー』の順番を逆に追加した場合には、違う風に表示されます。

モディファイアーは基本的には、追加した順番に優先順位が決定されるので、おそらく想像していたのと違う見た目になったかと思います。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング
複数のモディファイアー 優先順位によってオブジェクトの表示が変わる

こういった場合には、モディファイアーの優先順位を変更する必要があります。そのための方法もちゃんと用意されてますので、一度全部削除して、また付け直す必要はありません。ご安心ください。

優先順位を変更するには、各モディファイアーの右上辺りにあるこの『▲』『▼』ボタンで操作できます。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング
モディファイアーの優先順位を変更する上下ボタン

[配列]の各種設定項目について

[適合する種類: ] –複製する個数

種類入力できる値概要複製体の個数
定数で指定0以上の整数値複製体の個数は固定で指定する。
下の入力部分は[数: ]となる。
固定
長さに合わせる0以上の小数点数・整数値複製体を作成する範囲を指定する。
下の入力部分は[長さ: ]となり、その範囲内で配置できる限りの複製体が作成される。
複製体の個数は、オフセットや本体のオブジェクトの形状などによって左右される。
不定
カーブに合わせる3Dビューポート上に存在するカーブオブジェクト名複製体を作成する範囲をカーブオブジェクトで指定する。
下の入力部分は[カーブ: ]となる。
※カーブオブジェクトは、スカラー値の入力の扱い。
複製体の個数は、オフセットや本体のオブジェクトの形状などによって左右される。
不定

ここで設定した種類によって、複製される個数が決まります。

ただし、[定数で指定]以外の場合、[一定のオフセット]、[オフセット(倍率)]、[オフセット(OBJ)]の値によって、複製される個数が変化します。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング
[適合する種類: 定数で指定]
Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング
[適合する種類: 長さに合わせる]
Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング
[適合する種類: カーブに合わせる]

[一定のオフセット]、[オフセット(倍率)]、[オフセット(OBJ)] –オフセット

最終的なオフセットは、次の3項目の合計値となるようです。

項目名入力できる値概要
[一定のオフセット] X, Y, Zにそれぞれ小数点数・整数値1つ前の複製体(または本体)の基準位置から、次の複製体までのオフセットを、定数で指定する。
[オフセット(倍率)] X, Y, Zにそれぞれ小数点数・整数値1つ前の複製体(または本体)の基準位置から、次の複製体までのオフセットを、倍率で指定する。そのため、オブジェクトの形状に比例する。
[オフセット(OBJ)] 3Dビューポート上に存在する他のオブジェクト名1つ前の複製体(または本体)の基準位置から、次の複製体までのオフセットを「本体のオブジェクト→入力したオブジェクト」のベクトルとして指定する。
また、ここで入力したオブジェクトに与えた回転・拡大縮小の値も複製体に反映される。

(0, 0, 0)あたりに、エンプティオブジェクトを用意し、花びらのメッシュに追加している『配列』モディファイアーの [オフセット(OBJ)] の項目に設定しました。

エンプティオブジェクトを回転したり、拡大縮小したら、『配列』モディファイアーで複製したメッシュもそれに比例して、位置や大きさが変更されます。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング スケール
[オフセット(OBJ)]を拡大縮小
Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング 回転
[オフセット(OBJ)]を回転

ちなみに、『Spin』というツールを使って、「[オフセット(OBJ)]を回転」のように複製する方法もあります。『モディファイアー』を使わず、ただ単純に同一円周上に並べる場合、『Spin』の方が手軽で簡単だと思われますので、関連記事をご紹介させていただきます。

[マージ]、[ループ] –結合

項目名入力できる値概要
[マージ]0以上の小数点数・整数値 [距離: ]で入力した範囲内の隣接する頂点同士を結合する。
[ループ]0以上の小数点数・整数値 [距離: ]で入力した範囲内に、最初(本体)と最後の複製体の隣接する頂点がある場合に、頂点同士を結合する。
[マージ]にチェックを入れた上でないと設定できない。

UV球を『配列』で7つ複製したものを、[オフセット(OBJ)]に設定したエンプティオブジェクトを回転させて一周するように配置しました。

[距離: 0.15m]以内にある複製体(あるいは本体も)の頂点をマージ(結合)してみます。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング 頂点の結合
マージとループなし
  • [マージ]の項目にだけチェックを入れた場合
    …他の部分はマージ(結合)されているが、オリジナルと最後の複製の境目はマージ(結合)されていない
Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング 頂点の結合
マージのみ
  • [マージ]と[ループ]の項目にチェックを入れた場合
    …オリジナルと最後の複製の境目もマージ(結合)され、すべての境目が結合されている
Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング 頂点の結合
マージとループあり

[マージ]は、[距離: ]で入力した範囲に入る次の配列の要素との頂点を結合するため、最初(本体)と最後は直前と直後の関係ではないため、結合されません。

そこで、 最初(本体)と最後を結合するために[ループ]を使うわけです。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング 頂点の結合
マージとループの違い マージは本体と最後の複製がつながっていない

[U軸のオフセット: ][V軸のオフセット: ] –テクスチャマッピング

項目名入力できる値概要
[U軸のオフセット: ]-1~1までの値複製体のテクスチャマッピングの、U軸のオフセットを設定できる。
複製の個数のカウント(要素数)が大きくなる程、オフセットの倍率が高くなる。
[V軸のオフセット: ] -1~1までの値複製体のテクスチャマッピングの、V軸のオフセットを設定できる。
複製の個数のカウント(要素数)が大きくなる程、オフセットの倍率が高くなる。

テクスチャを使わなければ変化が良くわからないので、適当なテクスチャを用意し、そのテクスチャを使ったマテリアルを、前項で使ったUV球のオブジェクトに割り当てます。

Blender テクスチャ uvエディター 3DCG モデリング
今回使用したテクスチャ画像

[U軸のオフセット: ][V軸のオフセット: ]のそれぞれの値を動かすと、複製の個数のカウント(要素数)が大きくなる程、オフセットの倍率が比例して高くなるようで、バラバラな柄になります。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング uv テクスチャ マッピング
テクスチャマッピングのU軸、V軸オフセット変更

[始端: ]、[終端: ] –オブジェクト(の複製)の追加

項目名入力できる値概要
[始端: ] 3Dビューポート上に存在する他のオブジェクト名 設定されたオフセット分、 本体の前方の位置に、入力したオブジェクトの複製が作られ、配置される。
[終端: ] 3Dビューポート上に存在する他のオブジェクト名 設定されたオフセット分、一番最後の複製体の後方の位置に、入力したオブジェクトの複製が作られ、配置される。

UV球の『配列』モディファイアーの[始端: ]に、花のオブジェクト(花びらを『配列』で複製した物を含め、同じテクスチャを割り当てたオブジェクト)を設定し、[終端: ]にも同じく花のオブジェクトを設定したものです。

Blender ミラー Mirror 配列 Array モディファイアー 3DCG モデリング
始端、終端にオブジェクトを追加

おまけ

UV球に『配列』モディファイアーを使って複製体をつなげたメッシュオブジェクトに、花のオブジェクト(花びらメッシュに『配列』で複製体を円を描くようにつなげたオブジェクト)を[始端: ][終端: ]に設定し、エンプティオブジェクトを[オフセット(OBJ)]に設定したものを2個用意します。

そして、そのエンプティオブジェクトをただ回転させるという単純なアニメーションとなっております。

モディファイアー関連の記事のご紹介

この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください