12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡

19-6. 【Blender】同じオブジェクトを同心円状に等間隔に配列したいのに、オブジェクトのサイズと配置がおかしくなる

やりたいこと

一辺2mの立方体を、半径4mの同心円状に60°間隔で6個配置する。
「配列」モディファイアを使用し、オフセットをOBJに設定。
配置する間隔を指定するオブジェクトとして、予めエンプティを追加し、Z軸の回転角を60°にしておく。

配列モディファイアの設定
エンプティの設定

起きたこと

立方体のサイズが変わってしまい、同心円状にも配置されない。

原因

今回の例では、立方体のローカル座標系のスケールが2倍になっていたことが原因でした。
編集モードではなく、オブジェクトモードで拡大を行うことでこの状態になります。

それでは、なぜ立方体ローカル座標系のスケールが2倍になっているとこのような結果になるのかを考えていきます。

配列モディファイアでは、配列するオブジェクト(立方体)と、基準になるオブジェクト(エンプティ)のローカル座標系同士の差によってオブジェクトの配列方法が決まるようです。

立方体とエンプティのローカル座標系の位置、回転、スケールは次の通りです。

立方体座標系から見ると、エンプティ座標系はZ軸周りに60°回転しており、スケールは1/2です。
配列モディファイアでオブジェクトを1つ配置するごとに、この座標系の差(Z軸周りに60°回転し、スケールは1/2にする)が適用されたため、下図のような結果になったようです。

解決方法

下記の手順で、立方体のローカル座標系をリセットする(グローバル座標系と一致させる)のが最もシンプルな解決方法だと思います。

  1. 「オブジェクトモード」で立方体オブジェクトを選択
  2. Ctrl+Aで「適用」メニュー呼び出し
  3. 「全トランスフォーム」を選択(ローカル座標をグローバル座標と一致させる)
タイトルとURLをコピーしました