MESH ファイル形式とは?
.mesh は、DirectX SDK の SDKMESH バイナリコンテナに関連付けられたファイル形式です。各 .mesh ファイルには、DirectX テクノロジーをサポートする DirectX サンプルアプリケーション、チュートリアル、およびゲームでオブジェクトをレンダリングするために使用される 3D 幾何学モデルが含まれています。
SDKMESH は、頂点バッファ、インデックスバッファ、メッシュサブセット、スケルタルアニメーション用のフレーム(ボーン)階層、およびテクスチャファイルパスを含むマテリアル定義を格納します。この形式には 2 つのバージョンがあります。v1 は従来のディフューズ/スペキュラマテリアル(DirectX 9、10、11 時代のサンプル)を使用し、v2 では DirectX 11 および 12 用の PBR(物理ベースレンダリング)マテリアルサポートが追加されています。
DirectX は、Windows システムおよび Xbox ゲームコンソールでアプリケーションを開発するための Microsoft のテクノロジーです。その主な目的は、ゲームやソフトウェアアプリケーションでグラフィックスをレンダリングすることです。DirectX 12 が現在のバージョンです。SDKMESH は、SDK サンプルコード用のレガシーな .x 形式の後継として 2008 年頃に導入され、現在も DirectX 12 のチュートリアルで使用されています。
SDKMESH は開発者およびサンプル用のツールであり、製品版ゲームの出荷を目的としたものではありません。最新のプロジェクトでは、アセットの交換に glTF または FBX を使用します。ContentExporter ツールは、SDK サンプルで使用するために FBX を SDKMESH に変換します。なお、.mesh 拡張子は、Ogre3D や Godot など、バイナリ構造が全く異なる無関係なエンジンでも使用されていることに注意してください。
セキュリティと安全性
リスク: LOWSDKMESH ファイルは純粋な 3D データであり、実行可能なコンテンツは含まれていません。リスクは非常に低いです。拡張子 (.mesh) が多くの異なるプログラムで共有されている他のファイルと同様に、不明な .mesh ファイルをゲームエンジンツールで開く前にソースを確認してください。
形式の詳細
概要- Ogre3D メッシュファイル - Ogre3D ゲームエンジンは、独自のバイナリ 3D メッシュ形式に .mesh を使用します(マジックバイト:ヘッダー «MESH» または Ogre シリアライザヘッダー)。DirectX SDK とは無関係です。
- Godot メッシュリソース (レガシー) - 古いバージョンの Godot Engine はバイナリメッシュリソースに .mesh を使用していました。現在の Godot は .res/.tres を使用します。
- 汎用 3D メッシュ (複数のツール) - 多くの 3D ツール(カスタムエクスポート、ゲームエンジン)が、共通の標準がないバイナリまたは XML メッシュデータの汎用拡張子として .mesh を使用しています。
MESH ファイルを開くプログラム
技術的詳細
詳細仕様| 正式な形式名称 | SDKMESH - DirectX SDK Sample Mesh バイナリ形式 |
| ヘッダーバージョンフィールド | `uint32_t` バージョンフィールド:`101` = SDKMESH v1 (レガシーマテリアル); `200` = SDKMESH v2 (PBR マテリアル) |
| バイト順序 | リトルエンディアン(明示的な宣言のためにヘッダーに IsBigEndian フラグが存在) |
| コンテナ構造 | 2 部構成のバイナリレイアウト:(1) 静的データセクション - ヘッダー、頂点/インデックスバッファ記述子、メッシュレコード、マテリアル。(2) バッファデータセクション - 生の頂点およびインデックス配列 |
| インデックスデータ型 | 16 ビットまたは 32 ビット符号なし整数(インデックスバッファ宣言による) |
| v1 マテリアルモデル | 従来のディフューズ/スペキュラ - DirectX 9、10、11 の SDK サンプルで使用 |
| v2 マテリアルモデル | PBR(物理ベースレンダリング) - アルベド、ラフネス、メタリックマップ。DirectX 11/12 Tool Kit サンプルで使用 |
| ボーン階層サポート | スケルタルアニメーション用の親子関係を持つフレームレコード |
| 標準的なサイズ | ポリゴン数とテクスチャ参照に応じて 50 KB ~ 50 MB |
| 関連 OS | Windows, Xbox (DirectX ベースのコンソール) |
| 作成ツール | `ContentExporter` (GitHub の microsoft/content-exporter) - FBX を SDKMESH に変換 |
| 読み込み API | DXUT `CDXUTSDKMesh` ローダー; DirectX Tool Kit (`DirectXTK`) `Model` クラス |
| 拡張子の衝突 | `.mesh` は、Ogre3D、Godot、およびその他のエンジンでも、完全に異なるバイナリ形式で使用されています |
| リリース日 | circa 2008 (Direct3D 10 SDK samples; replacement for legacy .x format) |
| 最新バージョン | SDKMESH v2 (introduced with DirectX Tool Kit DX11/DX12 for PBR materials) |
| 仕様書 | github.com |
MESH の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。MESH ファイルについて最初の質問をしてみましょう。