ジオメトリをインスタンス化して配列する機能、ArrayMeshについて調べてみました。

 

 

ここではArrayMeshの基本的な設定と使い方についてまとめています。

 

 

インスタンス自体はどのCGソフトでも存在している機能ですよね。

インスタンスで作成されたジオメトリは元データ(又はインスタンスで作成されたジオメトリ)を編集するとリアルタイムで他のジオメトリも同様の編集がなされます。

 

 

公式ドキュメント

ARRAY MESH-Pixologic-

 

 

関連記事岸田さんの講義にて具体的な使用用法が確認できますので要チェック!

 

 

スポンサーリンク

ArrayMesh ステージの概念

ArrayMeshは単一、又は複数の操作を組み合わせて生成することが出来ます。

 

 

その操作をステージを呼び、各ステージでは前のステージのコンテンツ又は最後にコピーした位置情報を新しいステージの開始位置として再利用することが出来ます。

 

ex:キャタピラー制作におけるステージ

第1ステージは、上部平坦部分を定義します。
第2ステージは、丸い部分の1つを定義します。
第3ステージは、底部平坦部分を定義します。
第4ステージは、もう一方の丸い部分を定義し、第1段階のコピーの先頭に接続します。
第5ステージは、2つのキャタピラーを生成するために、キャタピラー全体のミラーバージョンを定義します。

ArrayMeshとTransePose

Array Meshはパラメータやスライダに大きく依存する機能ですが、TransPoseのアクションラインを使用して子のパラメータを制御することも出来ます。

Transposeで出来ること

  • Pivotの位置:小さな黄色のサークルは変換の基点を定義します
  • ソースモデルとインスタンスモデルの間のオフセット値
  • ソースモデルとインスタンスモデルの間のスケール値
  • ソースモデルとインスタンスモデルの回転
  • インスタンスコピーの数
  • ステージの選択

 

TransPoseで調整した変更は、Array Meshの設定に自動的に適用されます。

 

ArrayMeshの設定

LightBox > Array Mesh Presets

LightBoxのArray Meshタブを開きます。

 

 

保存されたArray Meshプリセットファイルをダブルクリックして、現在のメッシュにArray Meshの設定を適用することができます。

Open と Save

Array Meshの設定の保存と読み込みが出来ます。

 

 

 

 Array Meshファイルは、インスタンス化されているジオメトリが含まれているのではなく、配列自体の設定が含まれています。

 

Array Mesh

現在のToolまたはSubToolのArray Meshモードを有効または無効にします。

 

有効すると、現在のモデルのインスタンスが作成されます。

初期の状態だとインスタンスモデルは元のモデルと同じ場所に配置されています。

 

 

既にArray Meshが存在する場合には、Array MeshモードをON/OFFすることで適用された設定を表示/非表示切り替えることが出来ます。

 

この機能を利用すると、一時的にArray MeshをOFFにして元のメッシュに変更を加えることが出来ます。

 

TransPose

TransPoseを使用してArray Meshをインタラクティブに操作できます。

 

 

TransPoseを有効にし、Move、ScaleまたはRotateに切り替えるとTransPose Action Lineがオンになり、Array MeshのOffset、Scale、およびRotateの値を変更することができます。(The X, Y, and Z Amountスライダー)

 

 

TransPosモードでは、変換のPivot(基点)ポイントをインタラクティブにに設定することもできます。

 

Pivotを変更するには、TransPoseラインの先頭にある黄色の円をクリックしてドラッグします。

Pivotは、常にカメラ作業平面に対して自由に操作されます。

 

 

正確な配置のために、パースペクティブをOFFにし、Pivotを動かす前に希望する視点を慎重に選択することをお勧めします。

 

moco
Shiftを押しながらビューを回転すると90°ごとにスナップするので、利用すると便利ですね

 

Pivotポイントを変更すると、新しいPivot位置に合わせてアクションラインが自動的に再配置されます。

 

Lock Position, Lock Size

既存のArray Meshインスタンスの位置またはサイズが変更されないようにロックをかけます。

 

デフォルトでは変形は初期モデルに適用され、インスタンスはそれに従って移動または拡大縮小されますがこれらのロックを有効にすると、既存のインスタンスのサイズと位置は変更されません。

 

moco
とあるのですが、このスイッチをONにして元モデルを編集するとやはり編集されてしまいます。
用法が違うのですかね、、、

 

Switch XY, Switch XZ, Switch YZ

モデルを表示している現在の作業平面に基づいて、軸方向を変換します。

 

これらのスイッチは、ワールド軸を基準にして特定の方向に変形したい場合に便利です。

Transform Stage

Transform Stageスライダーを使用すると、さまざまなArray Meshステージ間を移動できます。

 

 

新しいステージを作成するには、「Append New」または「Insert New」機能を使用します。

 

Array Meshが最初に作成されるとき、このスライダーは灰色で表示されます。これは、選択する追加のステージがないためです。
ステージの詳細については、ArrayMesh ステージの概念 をご確認下さい。

Append New

リスト内の既存のすべてのステージの後に新しいステージを作成します。

 

既に4つのステージを持ち、現在最初のステージを選択している場合でも、5番目のステージを作成します。

Insert New

現在選択されているステージの直後に新しいステージを作成します。

 

既に4つのステージを持ち、現在最初のステージを選択している場合、2番目のステージを作成します。

既存のステージの間に新しいステージを挿入できます。

Reset

現在選択されているステージのすべてのパラメータをデフォルト値に戻します。

Delete

現在選択されているステージを削除します。

 

 

これが唯一のステージであれば、ArrayMashは削除され、すべての設定がデフォルト値に戻ります。

Copy, Paste

現在のArrayMashStageから設定をコピーし、別のステージまたは別のArrayMashに貼り付けることができます。

Repeat

現在のモデルから作成されるインスタンスの数を定義します。

 

 

この値には常に元のモデルが含まれるため、1つのコピーを作成するには、スライダを2に設定する必要があります。

Chain

次のステージを前のステージの終わりに開始させます。

 

コレによって複数のステージに渡って単一のインスタンスされたメッシュを使用し、高度なカーブ構造を作成できます。

 Chain機能を有効にすると、AlignmentとPattern機能はOFFにされます。

Smooth

各ステージ間の遷移をスムーズにします。

Align to Path

すべてのインスタンスの向きをArray pathに従うように変更します。

 

ボタン上の小さなXYZをON/OFFすることで特定の軸に制限することが出来ます。

Align to Axis

Array pathに沿ってではなく、各インスタンスの向きををワールド軸で方向付けします。

 

ボタン上の小さなXYZをON/OFFすることで特定の軸に制限することが出来ます。

Pattern Start, Pattern Length, Pattern On, Pattern Off

特定のパターンを持ったインスタンスを作成します。

 

 

Pattern Start:インスタンスが開始される回数

Pattern Length:Pattern Startが開始された後に、インスタンスが表示される回数

Pattern On/Off:インスタンスの表示・非表示数のパターンの定義。

 

 

 Pattern Startを1以外の値に設定しても、最初のオブジェクトは常に表示されます。

この場合、別のSubToolを選択すると、アクティブなインスタンスではないため、前のSubToolの最初のインスタンスが消えます。

 

moco
SubToolの非表示設定にしていても、選択すると一時的に表示される機能に似ています

 

X Mirror, Y Mirror, Z Mirror

選択した軸に基づいて、Array Meshにミラーリングを適用します。

 

ステージごとにミラーリングを個別に設定できます。

X Align, Y Align, Z Align

選択したの軸に正のオフセットまたは負のオフセットを適用し、さまざまな位置合わせを容易にします。

Offset

有効にし、スライダーを変更するとソースとインスタンスの間の距離が変更できます。

 


X, Y ,Z Amountスライダーとカーブに関連して動作します。

 

 

カーブを変更すると、Arrayの長さに沿ったインスタンス間の距離の加減衰に影響します。
TransPoseモードが有効な場合、MoveモードでTransPoseラインを操作すると、オフセット値がインタラクティブに変更されます。

Scale

有効にし、スライダーを変更するとソースとインスタンスの間のスケールが変更できます。

 


X, Y ,Z Amountスライダーとカーブに関連して動作します。

 

 

カーブを変更すると、Arrayの長さに沿ったインスタンス間のスケールの加減衰に影響します。
TransPoseモードが有効な場合、ScaleモードでTransPoseラインを操作すると、オフセット値がインタラクティブに変更されます。

Rotate

有効にし、スライダーを変更するとソースとインスタンスの間の相対的な回転が変更できます。

 


X, Y ,Z Amountスライダーとカーブに関連して動作します。

 

 

カーブを変更すると、Arrayの長さに沿ったインスタンス間の回転の加減衰に影響します。
TransPoseモードが有効な場合、RotateモードでTransPoseラインを操作すると、オフセット値がインタラクティブに変更されます。

Pivot

有効にし、スライダーを変更すると様々な変換(オフセット、スケール、回転)で使用されるピボットポイントの位置が変更されます。

 


カーブを変更してもピボット位置に影響はありません。

 

TransPoseモードが有効な場合、ソース位置にある黄色の円をクリック&ドラッグすると、インタラクティブにピボット値が変更されます。

X, Y, Z Amount と X, Y, Z Profile(カーブ)

これらのスライダとプロファイルカーブは、Offset、Rotate、Scale、およびPivotモードと連携して動作します。

Convert to NanoMesh

各ArrayMeshがNanoMeshに変換され、インスタンスごとに別々のポリゴンが作成されます。

 

moco
詳細は別途まとめます

Make Mesh

Array Meshを(非インスタンスの)ジオメトリに変換します。

 

 

変換後、結果として得られたモデルはZBrushの彫刻およびモデリングツールで自由に編集できます。

Extrude

MakeMeshをした際にPolyGroupsに基づいてインスタンスの間に新しいメッシュを生成します。

 

この機能を実行するには、対面するArray Meshオブジェクトが同じPolyGroupを共有する必要があります。

 

 

ExtrudeをONにすると、メッシュ作成機能はこのPolyGroup見て、同じPolyGroupedエリア間にブリッジを作成します。

 

この機能は、リピートの間に生成されるギャップを埋めるために、ヘビのような階段や有機モデルのような環境アイテムを作成する場合に便利です。
インスタンスのオブジェクトがお互いに近い場合、ZBrushはそれらを融合します。

 

これが望ましくない結果である場合は、X, Y, Z Amountスライダーなどで各インスタンス間にさらにスペースを追加し、Make Meshを再度クリックします。

Close

シリンダー状の形状を作成する場合に、最終点のインスタンスを開始点に融合させ、繋がった円を作成しようとします。

 

Angle

Extrude機能を使ってArray Meshジオメトリにブリッジを生成する際に、対応するPolyGroup面のサーフェス法線を表示します。

 

 

Angleスライダーを変更すると、ブリッジ問題が解決される可能性がありますが、望ましくない結果が生じることもありますのでこの設定は、デフォルト値がうまくいかない場合にのみ調整してください。

 

まとめ

ビルなど繰り返しの形状を作成するには非常に便利な機能ですね。

パスに添わせる方法やNanoMeshに関してはまた別途まとめたいと思います。

 

 

とりあえず基本的な流れとしては

 

  1. Repeatで数を決めて
  2. Transposeモードで配置を行う
  3. Append Newで段階をふんでインスタンスメッシュを追加
  4. 最後はMake Meshで変換

 

という形でしょうか。

 

 

おすすめの記事