Hvad er MESH-filformatet?
.mesh er et filformat tilknyttet DirectX SDK's SDKMESH binære container. Hver .mesh-fil indeholder en 3D-geometrisk model, der bruges til at rendere objekter i DirectX-eksempelapplikationer, vejledninger og spil, der understøtter DirectX-teknologi.
SDKMESH gemmer vertex-buffere, index-buffere, mesh-undersæt, et frame-hierarki (knogler) til skeletanimation og materialedefinitioner, der inkluderer stier til teksturfiler. Formatet findes i to versioner: v1 bruger traditionelle diffuse/specular materialer (DirectX 9, 10 og 11-æra eksempler), mens v2 tilføjer PBR (Physically Based Rendering) materialesupport til DirectX 11 og 12.
DirectX er Microsofts teknologi til udvikling af applikationer på Windows-systemer og Xbox-spilkonsoller. Dens hovedformål er at rendere grafik i spil og softwareapplikationer. DirectX 12 er den nuværende version. SDKMESH blev introduceret omkring 2008 som en efterfølger til det ældre .x-format til SDK-eksempelkode og er stadig i brug i DirectX 12-vejledninger.
SDKMESH er et værktøj til udviklere og eksempler - ikke beregnet til udgivelse af færdige spil. Moderne projekter bruger glTF eller FBX til udveksling af aktiver; værktøjet ContentExporter konverterer FBX til SDKMESH til brug i SDK-eksempler. Bemærk, at filendelsen .mesh også bruges af urelaterede motorer som Ogre3D og Godot med helt andre binære strukturer.
Sikkerhed og tryghed
RISIKO: LOWSDKMESH-filer er rene 3D-data uden eksekverbart indhold. Risikoen er meget lav. Som med enhver fil, hvis filendelse (.mesh) deles af mange forskellige programmer, bør du verificere kilden, før du åbner ukendte .mesh-filer i spilmotor-værktøjer.
Formatdetaljer
kort fortalt- Ogre3D Mesh-fil - Ogre3D-spilmotoren bruger .mesh til sit eget binære 3D-mesh-format (magic bytes: header «MESH» eller Ogre serializer-header); urelateret til DirectX SDK.
- Godot Mesh-ressource (ældre) - Ældre versioner af Godot Engine brugte .mesh til binære mesh-ressourcer; nuværende Godot bruger .res/.tres.
- Generisk 3D-mesh (flere værktøjer) - Mange 3D-værktøjer (brugerdefinerede eksportere, spilmotorer) bruger .mesh som en generisk endelse til binære eller XML-mesh-data uden en fælles standard.
Programmer der åbner MESH-filer
Tekniske detaljer
dyb specifikation| Fuldt formatnavn | SDKMESH - DirectX SDK Sample Mesh binært format |
| Header-versionsfelt | `uint32_t` Versionsfelt: `101` = SDKMESH v1 (ældre materialer); `200` = SDKMESH v2 (PBR-materialer) |
| Byte-rækkefølge | Little-endian (IsBigEndian-flag findes i headeren for eksplicit deklaration) |
| Container-struktur | Binært layout i to dele: (1) statisk datasektion - header, vertex/index-buffer-deskriptorer, mesh-poster, materialer; (2) buffer-datasektion - rå vertex- og index-arrays |
| Index-datatyper | 16-bit eller 32-bit usignerede heltal (per index-buffer-deklaration) |
| V1-materialemodel | Traditionel diffuse/specular - brugt i DirectX 9, 10 og 11 SDK-eksempler |
| V2-materialemodel | PBR (Physically Based Rendering) - albedo, roughness, metallic maps; brugt i DirectX 11/12 Tool Kit-eksempler |
| Understøttelse af knoglehierarki | Frame-poster med forældre/barn-relationer til skeletanimation |
| Typisk størrelse | 50 KB - 50 MB afhængigt af antal polygoner og teksturreferencer |
| Tilknyttet OS | Windows, Xbox (DirectX-baserede konsoller) |
| Værktøj til oprettelse | `ContentExporter` (microsoft/content-exporter på GitHub) - konverterer FBX til SDKMESH |
| Indlæsnings-API'er | DXUT `CDXUTSDKMesh` loader; DirectX Tool Kit (`DirectXTK`) `Model`-klasse |
| Filendelses-konflikt | `.mesh` bruges også af Ogre3D, Godot og andre motorer med helt forskellige binære formater |
| Udgivet | circa 2008 (Direct3D 10 SDK samples; replacement for legacy .x format) |
| Seneste version | SDKMESH v2 (introduced with DirectX Tool Kit DX11/DX12 for PBR materials) |
| Specifikation | github.com |
MESH-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om MESH-filer.