Vad är filformatet MESH?
.mesh är ett filformat associerat med DirectX SDK:s binära SDKMESH-container. Varje .mesh-fil innehåller en geometrisk 3D-modell som används för att rendera objekt i DirectX-exempelapplikationer, handledningar och spel som stöder DirectX-teknik.
SDKMESH lagrar vertex-buffertar, index-buffertar, mesh-delmängder, en ram-hierarki (ben) för skelettanimering och materialdefinitioner som inkluderar sökvägar till texturfiler. Formatet finns i två versioner: v1 använder traditionella diffuse/specular-material (DirectX 9, 10 och 11-eran), medan v2 lägger till stöd för PBR-material (Physically Based Rendering) för DirectX 11 och 12.
DirectX är Microsofts teknik för att utveckla applikationer på Windows-system och Xbox-spelkonsoler. Dess huvudsakliga syfte är att rendera grafik i spel och programvaror. DirectX 12 är den nuvarande versionen. SDKMESH introducerades omkring 2008 som en efterföljare till det äldre .x-formatet för SDK-exempelkod, och används fortfarande i DirectX 12-handledningar.
SDKMESH är ett verktyg för utvecklare och exempel - det är inte avsett för produktion av färdiga spel. Moderna projekt använder glTF eller FBX för utbyte av tillgångar; verktyget ContentExporter konverterar FBX till SDKMESH för användning i SDK-exempel. Notera att filändelsen .mesh även används av orelaterade motorer som Ogre3D och Godot med helt andra binära strukturer.
Säkerhet & trygghet
RISK: LOWSDKMESH-filer är ren 3D-data utan exekverbart innehåll. Risken är mycket låg. Som med alla filer vars filändelse (.mesh) delas av många olika program, bör källan verifieras innan okända .mesh-filer öppnas i spelmotorverktyg.
Formatdetaljer
i ett nötskal- Ogre3D Mesh-fil - Spelmotorn Ogre3D använder .mesh för sitt eget binära 3D-meshformat (magic bytes: header «MESH» eller Ogre serializer-header); orelaterat till DirectX SDK.
- Godot Mesh-resurs (äldre) - Äldre versioner av Godot Engine använde .mesh för binära mesh-resurser; nuvarande Godot använder .res/.tres.
- Generisk 3D-mesh (flera verktyg) - Många 3D-verktyg (anpassade exportörer, spelmotorer) använder .mesh som en generisk filändelse för binär eller XML-meshdata utan gemensam standard.
Program som öppnar MESH-filer
Tekniska detaljer
djup specifikation| Fullständigt formatnamn | SDKMESH - DirectX SDK Sample Mesh binärt format |
| Versionsfält i header | `uint32_t` Versionsfält: `101` = SDKMESH v1 (äldre material); `200` = SDKMESH v2 (PBR-material) |
| Byteordning | Little-endian (IsBigEndian-flagga finns i headern för explicit deklaration) |
| Containerstruktur | Binär layout i två delar: (1) statisk datasektion - header, vertex/index-buffertbeskrivningar, mesh-poster, material; (2) buffertdatasektion - råa vertex- och index-arrayer |
| Index-datatyper | 16-bitars eller 32-bitars osignerade heltal (enligt index-buffertdeklaration) |
| v1 materialmodell | Traditionell diffuse/specular - används i DirectX 9, 10 och 11 SDK-exempel |
| v2 materialmodell | PBR (Physically Based Rendering) - albedo, roughness, metallic-kartor; används i DirectX 11/12 Tool Kit-exempel |
| Stöd för benhierarki | Ram-poster med förälder/barn-relationer för skelettanimering |
| Typisk storlek | 50 KB - 50 MB beroende på antal polygoner och texturreferenser |
| Associerat OS | Windows, Xbox (DirectX-baserade konsoler) |
| Skapande verktyg | `ContentExporter` (microsoft/content-exporter på GitHub) - konverterar FBX till SDKMESH |
| Laddnings-API:er | DXUT `CDXUTSDKMesh`-laddare; DirectX Tool Kit (`DirectXTK`) `Model`-klass |
| Kollision med filändelse | `.mesh` används även av Ogre3D, Godot och andra motorer med helt olika binära format |
| Släppt | circa 2008 (Direct3D 10 SDK samples; replacement for legacy .x format) |
| Senaste version | SDKMESH v2 (introduced with DirectX Tool Kit DX11/DX12 for PBR materials) |
| Specifikation | github.com |
MESH-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om MESH-filer.