23.

UE5のメッシュとは|Static MeshとSkeletal Meshの違い・構成

編集

Unreal Engine 5(以下、UE5)におけるメッシュ(Mesh)とは、3Dモデルの形状データ(ポリゴンの集まり)のことです。キャラクター、建物、小道具、地形パーツなど、画面に表示される立体物は、ほぼすべてメッシュとして扱われます。メッシュは「どこに頂点があり、どの頂点をつないで面を張るか」という情報の集合体であり、そこにマテリアル(見た目の質感)を組み合わせることで、初めて実際の3Dオブジェクトとして描画されます。

UE5でメッシュを扱う際にまず押さえたいのは、用途によってスタティックメッシュ(Static Mesh)スケルタルメッシュ(Skeletal Mesh)という2つの主要な種類に分かれる点です。両者は構造も最適化の仕組みも異なるため、目的に合わせて使い分けることが重要になります。

この記事の要点
  • メッシュは3Dモデルの形状データ(ポリゴンの集まり)で、頂点・面・UV・マテリアル割り当てなどの情報を持つ。
  • スタティックメッシュは動かない剛体向け、スケルタルメッシュはスケルトン(ボーン)付きで変形・アニメーションするキャラクター向け。
  • メッシュは頂点・ポリゴン(面)・マテリアルスロット・UV・LODといった要素で構成される。
  • 一般的にはBlenderやMayaなどで作成し、FBXなどの形式でインポートして利用する。
  • Naniteを使うと、高密度なジオメトリを従来のLODに頼らず効率的に描画できる場合がある(適用条件はバージョンや用途による)。
  • コリジョン(当たり判定)設定を忘れると、すり抜けや配置の不具合が起きやすい。

メッシュとは何か

3Dグラフィックスにおけるメッシュは、空間上の点である頂点(Vertex)と、それらを結んで作られる面(ポリゴン)によって表現される形状データです。多くの場合、面は三角形(トライアングル)で構成され、四角形(クワッド)でモデリングしたものも内部的には三角形に分割されて処理されます。この三角形が集まることで、平面から曲面まであらゆる形状を近似的に表現できます。

メッシュ単体はあくまで「形」の情報であり、それだけでは見た目の質感を持ちません。表面の色や反射、凹凸といった見た目はマテリアルが担当し、メッシュ側に用意されたマテリアルスロットに割り当てることで描画されます。つまり「形状=メッシュ」「質感=マテリアル」という役割分担を理解しておくと、UE5でのアセット管理がぐっと分かりやすくなります。

スタティックメッシュとスケルタルメッシュの違い

UE5のメッシュは、おおまかにスタティックメッシュスケルタルメッシュの2系統に分けられます。最大の違いは「スケルトン(ボーン構造)を持つかどうか」、言い換えれば「メッシュ自体が変形してアニメーションするかどうか」です。

スタティックメッシュは、形状が変形しない剛体向けのメッシュです。机や壁、岩、建物のパーツなど「動いても全体が一塊として動く」オブジェクトに適しています。位置や回転、スケールの変更は可能ですが、メッシュ表面そのものが曲がったり伸びたりはしません。

一方、スケルタルメッシュは内部にスケルトン(ボーンの階層)を持ち、ボーンの動きに合わせて頂点が追従して変形します。人型キャラクターや動物、関節を持つ機械など、しなやかに動くものに用いられます。アニメーションは一般的に専用のアニメーション用ロジック(アニメーションブループリントなど)を介して制御されます。

比較項目 スタティックメッシュ スケルタルメッシュ
スケルトン(ボーン)持たない持つ
メッシュの変形変形しない(剛体)ボーンに追従して変形する
主な用途背景・建物・小道具・地形パーツなどキャラクター・動物・関節のある物体など
アニメーション原則として行わない(全体移動は可能)スケルトン制御で動かす
処理コストの傾向比較的軽い変形計算が加わるため重くなりやすい
最適化の代表例LOD・インスタンシング・Naniteアニメーション側の最適化・LODなど

大まかな指針としては、「変形させたい・骨で動かしたいならスケルタルメッシュ、動かない/一塊として扱うならスタティックメッシュ」と考えると選びやすくなります。なお、扉のように回転だけする物体は、必ずしもスケルタルメッシュにする必要はなく、スタティックメッシュ+プログラム側の回転制御で表現することも一般的です。

メッシュを構成する要素

メッシュは単なる三角形の塊ではなく、描画や最適化のための複数の情報を併せ持っています。主な構成要素は次のとおりです。

頂点(Vertex):3D空間上の点で、メッシュの最小単位です。位置情報のほか、法線(面の向き)や頂点カラー、UV座標などの付随情報を持つ場合があります。

ポリゴン(面):頂点をつないで張られる面で、多くは三角形です。ポリゴン数(トライアングル数)が多いほど形状を細かく表現できますが、その分処理負荷も増えます。

マテリアルスロット:メッシュのどの部分にどのマテリアルを割り当てるかを管理する枠です。1つのメッシュに複数のスロットを設定すると、部位ごとに異なる質感を割り当てられます。ただしスロットが増えるほど描画の負荷要因になりやすい点には注意が必要です。

UV(UVマッピング):3Dのメッシュ表面に2Dのテクスチャを貼り付けるための座標情報です。UVが適切に展開されていないと、テクスチャが歪んだり伸びたりして表示されます。ライトの焼き込み(ライトマップ)用に、専用のUVチャンネルを用意するワークフローもあります。

LOD(Level of Detail):カメラからの距離などに応じて、表示するメッシュの詳細度を切り替える仕組みです。遠くにあるオブジェクトをポリゴン数の少ない簡易版に差し替えることで、見た目を大きく損なわずに描画コストを下げられます。

メッシュのインポートとNanite

UE5でオリジナルのメッシュを使う場合、一般的なワークフローは「外部の3DモデリングソフトでモデルとUVを作成し、UE5にインポートする」流れです。BlenderやMaya、3ds Maxなどで作成したモデルをFBX形式(用途によってはOBJなど)でエクスポートし、コンテンツブラウザからインポートします。インポート時には、スタティックメッシュとして取り込むか、スケルトンを伴うスケルタルメッシュとして取り込むかなどの設定を確認します。

UE5を象徴する機能の1つがNanite(ナナイト)です。Naniteは、非常に高密度なジオメトリを扱うための仮想化されたジオメトリシステムで、画面に必要な分だけ細かさを動的に調整して描画します。これにより、従来のように手動でLODを多数用意しなくても高精細なメッシュを扱いやすくなる、というのが大きな利点です。

Naniteは当初スタティックメッシュ向けの技術として登場しましたが、その後のバージョンでスケルタルメッシュへの対応も進められてきました。ただし、対応状況や挙動、利用できない(または制限のある)ケースはUE5のバージョンや使用機能(モーフターゲットやクロスシミュレーションなど)によって異なります。Naniteを本格的に利用する際は、使用するUE5のバージョンの公式ドキュメントで最新の対応範囲と制限を確認することを推奨します。

コリジョン(当たり判定)の設定

メッシュの「見た目の形」と「物理的な当たり判定(コリジョン)」は、UE5では別々に管理されます。コリジョンを設定しないと、キャラクターがオブジェクトをすり抜けたり、銃弾や物理オブジェクトが反応しなかったりします。逆に、必要のないオブジェクトにまで複雑なコリジョンを付けると処理負荷が増えるため、用途に応じた設定が大切です。

スタティックメッシュでは、メッシュエディタ上で単純な形状(ボックスやカプセルなど)の簡易コリジョンを生成する方法が手軽で軽量です。一方、複雑な形状に対して表面に沿った精密な当たり判定が必要な場合は、メッシュ形状を利用する方式(per-poly/コンプレックスコリジョン)を選びますが、こちらは負荷が高くなりやすいため使いどころを選びます。実装方針はプロジェクトの要件に合わせて検討してください。

メッシュの主な用途

メッシュはUE5のあらゆる場面で使われます。背景の建物・地形・小道具といった環境の構築、プレイヤーや敵などのキャラクター表現、武器やアイテムといったインタラクティブなオブジェクトなどが代表例です。さらに、同じスタティックメッシュを大量に配置する場面ではインスタンシングを活用することで、メモリや描画コールの面で効率化を図れる場合があります。

メッシュ運用でよくある落とし穴

メッシュは扱いやすい一方で、設定や作り方を誤るとパフォーマンスや見た目の問題につながります。代表的な注意点を整理します。

落とし穴 起きやすい問題と対策
過剰なポリゴン数必要以上に高密度なメッシュは描画負荷を押し上げる。用途に見合った密度に抑え、必要に応じてLODやNaniteの利用を検討する。
マテリアルスロットの増やしすぎスロット(マテリアル)が多いほど描画コストの要因になりやすい。可能な範囲でマテリアルを統合し、スロット数を整理する。
スケール(単位)の不一致モデリングソフトとUE5で単位設定が合っていないと、インポート後にサイズが極端に大きい/小さい、回転がずれるなどの問題が起きる。エクスポート設定を事前に確認する。
コリジョン未設定当たり判定がないとすり抜けや物理の不具合が発生する。一方で複雑すぎるコリジョンは重い。用途に応じて簡易/精密を使い分ける。
UV・ライトマップの不備UVが正しく展開されていないとテクスチャが歪む。ライトを焼く場合は専用UVの重なりにも注意する。

よくある質問(FAQ)

Q1. スタティックメッシュとスケルタルメッシュは、どちらを使えばよいですか?

A. 形状が変形せず一塊として扱える物体(背景・小道具・建物など)はスタティックメッシュ、ボーンで変形させたいキャラクターや関節のある物体はスケルタルメッシュが基本です。回転や移動だけならスタティックメッシュでも対応できることが多く、変形が必要かどうかを判断基準にすると選びやすくなります。

Q2. Naniteを使えばLODはまったく不要になりますか?

A. Naniteは画面上必要なディテールを動的に調整するため、従来型の手動LODへの依存を減らせる場合があります。ただし、すべての機能・すべてのメッシュ種別で同じように使えるとは限らず、バージョンや使用機能によって対応範囲や制限が異なります。実際の挙動は、利用するUE5バージョンの公式ドキュメントで確認することをおすすめします。

Q3. メッシュをインポートしたのに、サイズや向きがおかしくなります。

A. 多くの場合、モデリングソフト側とUE5側の単位(スケール)や軸の向きの設定が一致していないことが原因です。エクスポート時のスケール・前方向/上方向の軸設定を確認し、必要に応じてインポート設定を調整してください。再エクスポートで解決することも少なくありません。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. ノード・コンポーネント・関数・クラス一覧
  2. Tips
  3. エラー一覧
  4. ブループリント (Blueprint)
  5. プロジェクト (Project)
  6. レベル (Level)
  7. ウィジェット (Widget)
  8. データテーブル (DataTable)
  9. アセット
  10. アウトライナー
  11. ビュー
  12. レイヤー
  13. レイアウト
  14. ビルド
  15. ライティング
  16. ジオメトリ
  17. アクタ
  18. トランスフォーム
  19. スナップ
  20. ピボット
  21. コンテンツドロワー
  22. コンポーネント
  23. メッシュ
  24. マテリアル
  25. World Composition
  26. World Partition
  27. Unreal Insights
  28. セーブ&ロード

最近更新/作成されたページ