モデリング エディタ モードには、Unreal Engine でスタティック メッシュを直接作成して、スカルプティングするためのツールセットがあります。このツールセットを使用すると、新規メッシュの作成、レベル ジオメトリの迅速なプロトタイプの作成、既存のモデルの編集を行って、ワールドに多様性を加えることができます。この概要では、これらのツールの主要なコンセプトおよびそのワークフロー、アクセス方法、および作業の基本について説明します。
モデリング エディタにアクセスする
モデリング エディタ モードを使用するには、[Select Mode (選択モード)] ドロップダウンをクリックして、[Modeling (モデリング)] を選択します。または、Shift + 5 キーを押すと、直ちにこのモードに切り替わります。
ツールバーと [Modeling (モデリング)] パネルが表示されます。ツールバーからツールを選択すると、そのプロパティが [Modeling] パネルに表示されます。このパネルを使用して、形状の作成や変更を行う前に、ツールの出力を設定することができます。
主要なコンセプトについて
モデリング エディタの多くのツールは他のモデリング ソフトウェアに搭載されているツールと似ていますが、モデリング エディタのメッシュ編集構造には、作業に着手する前に把握しておく必要のある重要な違いがいくつかあります。
三角ポリゴンおよびポリゴングループ
Unreal Engine は、すべてのモデルを三角形分割されたメッシュとしてレンダリングします。つまり、メッシュをインポートまたは作成すると、そのサーフェスは、別の環境で定義済みであるかどうかを問わず、自動的に三角ポリゴン (トライアングル) に分割されます。このことにより、次のことが保証されます。
- UE は、レンダリングできないモデルをインポートまたは作成することはできない。
- UE のレンダリングはすべてのプラットフォームに移植できる。これは、すべてのグラフィック ドライバが例外なく三角ポリゴンを認識するためです。
- UE は、ランタイム時にクワッドや n 面ポリゴンを三角形に分解するために時間とリソースを費やす必要がない。
その結果として、UE のモデリング エディタにはクワッドや n 面ポリゴンの概念がありません。そのため、三角形がエンジン内のモデリングの基盤となります。そのため、最も低レベルの編集ツールは [TriModel] カテゴリにあります。これは、三角形と頂点を直接選択して編集することに全面的に、基づいています。
Unreal Engine はクワッドや n 面ポリゴンをネイティブで認識しないものの、これらの機能を模倣することができる ポリゴングループ をサポートしています。ポリゴングループは三角形の任意の集まりで、モデリング エディタのさまざまなツールで定義し、PolyModel ツールを使用して操作することができます。ローポリゴン メッシュやブロックアウトを処理する場合、ポリゴングループは生の三角ポリゴンを処理するよりも直感的にサーフェスを操作できます。ただし、ポリゴングループはハイポリゴン メッシュにも適用できるため、他の方法では複雑になるジオメトリのチャンクを簡単に操作することができます。
形状ツールでメッシュを作成する際に、[Polygroup Mode (ポリゴングループ モード)] を使用して、新しいメッシュのポリゴングループを設定することができます。デフォルトでは、これは[Per Shape (形状ごと)] に設定されており、メッシュ全体を単一のポリゴングループとして出力します。ただし、Per Face (面ごと) または Per Quad (クワッドごと) を使用すると、メッシュを認識可能な面またはクワッド グループに自動的に分割することができます。ポリゴンモデル ツールを使用すると、これらのグループを選択できます。
画像をクリックするとフルサイズで表示されます。 |
画像をクリックするとフルサイズで表示されます。 |
また、[TriSel]、[GrpGen]、[GrpPnt] ツールを使用してポリゴングループを作成できます。さらに、UV ツールでメッシュの UV レイアウトに基づいてポリゴングループを生成することができます。
画像をクリックして拡大表示します。
ポリゴン グループは任意であるため、ポリゴングループ レイヤー を複数作成することで、同一モデルで異なるセットを処理することもできます。これらは、[Attributes (属性)] > [AttrEd] ツールで設定することができます。
ポリゴングループ レイヤーは、プロジェクトに共通ではなく、個々のスタティック メッシュ アセットのために作成されます。つまり、2 つの異なるメッシュが同一のポリゴングループ レイヤーを持つことを想定することはできないものの、個々のケースに応じて、必要な場合はそういったポリゴングループ レイヤーを定義することができます。
ツール、アンドゥ履歴、および変更の承諾
モデリング エディタ モードでのメッシュ編集ツールのほとんどは、メッシュへの変更を直ちに適用しません。直ちに適用するのではなく、ツールによって変更を反映したメッシュのプレビューが表示され、プロンプトに [Cancel (キャンセル)]ボタンと [Accept (承諾)] ボタンが表示されます。モデリング モードを終了するか、[Cancel] を押すと、変更が破棄され、メッシュは編集を開始する前の状態に戻ります。[Accept] を押すと、モデリング エディタによって変更が適用されます。また、同じ編集中に別のモデリング ツールを選択した場合にも、そのツールの変更が適用されます。
メッシュ編集ツールを使用している間は、Unreal Editor によって、ツールが実行した個々の操作のアンドゥ履歴が保持されます。たとえば、TriEd や PolyEd を使用して複数の押し出し操作を行った場合、[Undo (アンドゥ)] を使用すると、最も新しいものから順に元に戻して、各編集の履歴を遡ることができます。
すべてのツールの設定に [On Tool Accept] カテゴリがあり、アンドゥ履歴でのモデリング操作の内容を設定することができます。デフォルトでは、[Handle Inputs (入力処理)] 設定は [Delete Inputs (入力を削除)] に設定されています。つまり、[Accept] を押した後、Unreal Editor はメッシュ編集セッションを単一の操作として処理します。[Undo] を使用すると、前回 [Accept] を押したときから行ったすべての変更が元に戻されます。[Handle Inputs] を変更することで、個々の変更の一部またはすべてを保持することができます。
メッシュ、アセット、および非破壊での編集
モデリング モードでメッシュを編集する場合は、メッシュの個々のコピーを編集するのではなく、プロジェクトの「Content」フォルダに保存されているスタティック メッシュ アセットのインスタンスを編集します。これには、[Shapes] および [Create] カテゴリのツールで作成されたメッシュが含まれており、アセットは「Maps/_GENERATED
」フォルダに格納されています。
このため、同じメッシュのインスタンスが複数あり、モデリング ツールを使用してそのインスタンスの 1 つを編集すると、そのメッシュのすべてのコピーに同じ変更が適用されます。これは慎重に作業しないと破壊的な結果につながる恐れがあります。つまり、メッシュのバリエーションを作成する必要があるときに、メッシュを上書きしてしまう可能性があります。
レベル エディタの複製操作を使用するのではなく、[Create] カテゴリにある [MshDup] ツールを使用すると、選択したスタティック メッシュ アセットの複製を作成して、「Content」フォルダに追加できます。その後、ビューポートで選択したメッシュは、オリジナルのアセットではなく、そのアセットを使用します。モデリングを開始する前にこのツールを使用してスタティック メッシュ アセットのクローンを作成すると、オリジナルのアセットがそのまま保持され、必要に応じてワールド内の個々のスタティック メッシュのみを変更することができます。
モデリング エディタ モードを使用する
メッシュを作成する
新しいメッシュを作成するには、[Shapes] カテゴリのツールのいずれかをクリックして、マウス カーソルをビューポートに移動します。選択した形状のテンプレートがマウス カーソルに追従し、レベル グリッドにスナップします。ゲームのワールド内でメッシュを追加したい場所をクリックすると、エディタが [Modeling] パネルで設定したパラメータを使用して、その形状のインスタンスを作成します。

また、[Create] グループのツールを使用してメッシュを作成することもできます。たとえば、[PolyExt] ツールは、メッシュのフットプリントを描画し、それを押し出してカスタム 3D 形状を作成することができます。

ツールを使用してメッシュを作成する場合、[Output Type (出力タイプ)] を [Volume (ボリューム)] に変更すると、スタティック メッシュの代わりにトリガー ボリュームが作成されます。
メッシュを編集する
モデリング エディタの他のほとんどのツールは、ゲームのワールドにある既存のメッシュを編集するために作成されています。たとえば、[TriEd] または [PolyEd] を選択してメッシュをクリックすると、その個々のコンポーネントを選択して、選択したコンポーネントに対してモデリング操作を実行できます。[Extrude (押し出し)]、[Push Pull (プッシュ プル)]、[Cut Faces (面の切り取り)] など、[TriEd] ツールおよび [PolyEd] ツールの個々の操作は、[Modeling] パネルに表示されます。編集後、ビューポートの下部にある [Accept] ボタンをクリックして変更を確定するか、[Cancel] ボタンをクリックして変更を破棄します。

ワールド内の任意のスタティック メッシュ (モデリング エディタで作成されていないメッシュを含む) を選択して、これらのツールを使用して編集することができます。たとえば、高品質なスタティック メッシュに対して [Lattice (ラティス)] ツールを使用すると、すばやく形状を変更することができます。
高品質なアセットを編集する場合は、オリジナルのアセットを保持できるように、[MshDup] ツールを使用してアセットを複製してください。
ツールのカテゴリ
カテゴリ | 説明 |
---|---|
Shapes (形状) | キューブ、球体、シリンダー、平面など、単純なプリミティブを使用して新しいスタティック メッシュ モデルを作成します。 |
Create (作成) | カスタムの形状やパスを使用して新しいスタティック メッシュを描画します。[MshDup] と [MshMrg] を使用して、「Content」フォルダにあるメッシュのアセットのクローンを作成するか、統合します。 |
PolyModel (ポリゴンモデル) | ポリゴングループを選択して、編集することで、スタティック メッシュ モデルを操作します。モデルに複数のポリゴングループがある場合に限り使用することができます。新しいポリゴングループを作成するには、[TriModel] グループの [TriSel] ツール、または [Attributes] グループの [GrpPen]ツール と [GrpPnt] ツールを使用します。 |
TriModel | 生の三角ポリゴンを選択して、編集することで、スタティック メッシュ モデルを操作します。 |
Deform (変形) | 高レベルのデフォーマを使用して、スタティック メッシュをワープしたり、スカルプティングします。 |
Transform (トランスフォーム) | モデリング モードのままでスタティック メッシュのトランスフォーム操作を実行します。メッシュのピボット ポイントの編集、ボリュームとスタティック メッシュの間のタイプ変更、その他オブジェクト全体に作用する操作を実行できます。 |
MeshOps | スタティック メッシュのジオメトリに対して大規模な操作を実行します。メッシュのジオメトリの最適化に役立つ [Simplify] ツールや [Remesh] ツール、およびマージや溶接操作が含まれます。 |
VoxOps | スタティック メッシュをボクセルに変換して、ポリゴン ジオメトリに再度変換する前にボリュメトリック操作を実行します。複数のメッシュを選択すると、[VoxMrg]、[VoxBlnd]、[VoxBool] を使用して、メッシュ同士の結合や減算などのブール演算を実行することができます。 |
Attributes (属性) | 法線、接線、ポリゴングループ、その他のパラメータなど、スタティック メッシュのさまざまな属性を設定します。また、[MatEd] ツールを使用してマテリアルをペイントすることができます。 |
UVs (UV) | メッシュの UV マップを編集して、テクスチャがサーフェスにどのようにマッピングされるかを変更します。これには自動アンラップ ツールやレイアウト ツールが含まれます。 |
Baking (ベーキング) | スタティック メッシュにテクスチャと頂点カラーをベイクします。 |
Volumes (ボリューム) | スタティック メッシュをボリュームに変換したり、ボリュームや BSP ブラシをスタティック メッシュに変換します。また、スタティック メッシュのコリジョンを検査したり、メッシュのコリジョン ジオメトリに基づいて新しいメッシュを生成したりすることもできます。 |
LODs (LOD) | LOD メッシュを編集して、管理します。 |
ジオメトリ スクリプト
ジオメトリ スクリプト は、Unreal Engine のプラグインです。ジオメトリ スクリプトには、ブループリントや Python を使用してメッシュ ジオメトリを生成および編集する機能を提供する一連の関数ライブラリが含まれています。ジオメトリ スクリプトの UFunction およびブループリント ノードは、UDynamicMesh オブジェクトで動作します。UDynamicMesh オブジェクトは、FDynamicMesh3 C++ 三角ポリゴン メッシュ データ構造を使用して作成されるオブジェクトです。
このデータ構造は、Geometry Processing プラグインおよび モデリング エディタ モード で使用されるデータ構造と同じです。また、ジオメトリ スクリプトをアクタ ブループリントで使用して、「プロシージャル オブジェクト」を作成し、複雑なジオメトリ クエリを実装することもできます。
ジオメトリ スクリプティングに関する詳細については、「ジオメトリ スクリプト ユーザー ガイド」を参照してください。