`

MD5MESH文件结构

 
阅读更多

 

参考:http://lib.yoekey.com/?p=246

 

MD5模型是ID公司第一款真正意义上的骨骼格式模型,在04年随着Doom3一起面世,经过几个版本的变更,现在在骨骼模型格式中依然有其重要地位。本文只阐述MD5MESH的文件结构。

文件头:

MD5Version <integer>

commandline ”<string>”

MD5Version - 一个整数,定义了md5的版本号,这个地方始终写10。

commandline - 一个字符串,是要传递个exportmodels命令控制台的参数。

 

具体参数:

numJoints <integer>

numMeshes <integer>

numJoints - 一个整数,该模型的骨骼数量。

numMeshes - 一个整数,该模型的网格数。

列表:

<string> {

        [element 1]

        [element 2]

        [element 3]

        … ect …

}

格式:首先,声明列表类型(<string>)。然后在大括号中包含具体内容。

内容每一行为一系列元素,用\r\n进行分割。

MD5MESH中有两个组:Joints和Mesh。

 

Joints

“[boneName]“   [parentIndex] ( [xPos] [yPos] [zPos] ) ( [xOrient] [yOrient] [zOrient] )

boneName - 骨骼的名称。

parentIndex - 骨骼父节点的序号。

xPos - 骨骼平移元素的x分量。

yPos - 骨骼平移元素的y分量。

zPos - 骨骼平移元素的z分量。

xOrient - 骨骼旋转元素的x分量(四元数格式)。

yOrient - 骨骼旋转元素的y分量(四元数格式)。

zOrient - 骨骼旋转元素的z分量(四元数格式)。

 

Mesh

// meshes: [meshName]

shader ”[materialName]“

meshName - 网格的名称。

materialName -  这个网格的材质。

 

Vert

numverts <integer>

vert [vertIndex] ( [texU] [texV] ) [weightIndex] [weightElem]

numverts - 顶点的数量。

vertIndex - 这个顶点的索引。

texU - UV纹理坐标U分量。

texV - UV纹理坐标V分量。

weightIndex - 这个顶点在权重列表中的第一个权重的索引。

weightElem -  这个顶点在权重列表中受影响的权重数量。

 

Tri

numtris <integer>

tri [triIndex] [vertIndex1] [vertIndex2] [vertIndex3]

numtris - 三角形的数量。

triIndex - 这个三角形的索引。

vertIndex1 - 这个三角形的第一个顶点索引。

vertIndex2 - 这个三角形的第二个顶点索引。

vertIndex3 - 这个三角形的第三个顶点索引。

 

Weight

numweights <integer>

weight [weightIndex] [jointIndex] [weightValue] ( [xPos] [yPos] [zPos] )

numweights - 权重的数量。

weightIndex - 这个权重的索引。

weightValue - 权重关联的骨骼。

weightValue - 权重值。

xPos -权重平移元素的x分量。

yPos - 权重平移元素的y分量。

zPos - 权重平移元素的z分量。

 

 

 

欢迎关注微信公众号——计算机视觉:

 

分享到:
评论

相关推荐

    md5mesh

    - 首先,游戏会调用`md5mesh.c`中的函数来加载MD5模型文件,解析头部信息,确认文件的合法性。 - 接着,模型的顶点、纹理坐标和索引数据被读入内存,形成模型的基本几何结构。 - `md5anim.c`负责处理动画部分,...

    Blender-2.8-MD5-import-export-addon:.MD5模型(idTech 4 .md5mesh和.md5anim)用于Blender 2.8的importexport插件。 支持批量导入.md5anim文件作为Blender中的操作

    用于Blender 2.80+的MD5导入器/导出器部分: 安装开始之前:收藏大纲视图中的.MD5mesh层次结构开始之前:骨层导入MD5网格导入MD5动画导出MD5网格导出单个MD5动画导出MD5网格和动画此导入/导出脚本提供以下功能:进口...

    3dmax插件md5

    在3DMax中,如果没有专门的插件,我们无法直接导入或导出MD5格式的文件。而"3dmax插件md5"正是这样一款工具,它为3DMax提供了对MD5格式的支持。这个插件允许用户在3DMax中创建、编辑模型,并将它们导出为MD5格式,...

    3DMax md5插件_3dmaxanim格式_3dmax插件_

    这两个文件类型是MD5格式的两个主要组成部分:.md5mesh文件包含了模型的几何信息,如顶点、面、纹理坐标等;而.md5anim文件则包含了模型的骨骼结构、关节旋转和平移信息,以及这些信息随时间变化的曲线数据。 在...

    3dsmax导出MD5模型插件(含源码)

    MD5模型数据主要包含两部分:模型的顶点数据(MD5Model)和皮肤或纹理贴图数据(MD5Mesh)。这种格式的优点在于轻量级、快速加载,适合实时渲染,但不包含光照、材质等高级特性,需要游戏引擎自行处理。 这个3ds ...

    md5骨骼动画源代码

    1. **解析MD5文件**:首先,你需要读取并解析.md5mesh和.md5anim文件,提取出模型的几何信息和动画帧数据。这通常涉及到理解文件格式的细节,如节点树结构、时间戳、关键帧数据等。 2. **构建骨骼树**:根据解析出...

    mesh2d 自动构建三角Mesh

    8. **文档**:`README.md`和`LICENSE.md`文件分别提供了项目的基本信息和许可协议,帮助用户了解如何使用和分发这个工具。 9. **测试案例**:`poly-test`可能是一个包含测试案例的文件或目录,用户可以通过运行这些...

    MD5Load.rar

    MD5Load.rar是一个压缩包,其中包含了用于手动解析模型文件并实现CPU皮肤渲染骨骼动画的资源。这个资源可能对游戏开发或3D图形编程的初学者特别有帮助,因为它允许用户深入了解模型数据处理和动画机制。 首先,我们...

    《Unity 5.x从入门到精通》配套光盘资源

    这个文件通常是用来介绍项目或资源的说明文档,它可能包含了如何解压、如何访问和使用这些资源的步骤,以及任何必要的注意事项。在Unity的学习过程中,遵循这样的指南是至关重要的,因为它可以帮助你有效地利用这些...

    recastnavigation.zip

    6. **配置文件**:压缩包中的Doxyfile用于配置Doxygen文档生成,.editorconfig则定义了代码风格和格式规则,.gitignore指定了Git版本控制中应忽略的文件,CONTRIBUTING.md提供了对贡献代码的指导,README.md提供了...

    基于图像的三维模型重建C++源代码+文档说明(高分课程设计)

    &lt;项目介绍&gt; 基于图像的三维模型重建 core—提供了工程项目需要的所有的基础数据结构,包括image、depthmap、mesh、view以及数据...下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    Stress-Matrix-and-MATLAB-basics-HomepagesPPT文档.pptx

    * Molecular Dynamics(MD):用于模拟材料的微观行为。 * Finite Element Method(FEM):用于解决工程问题的数值方法。 * Material Point Method(MPM):用于模拟材料的非线性行为。 * Multiscale simulation:...

    深蓝基于图像的三维重建代码C++源码+文档说明(高分项目)

    core—提供了工程项目需要的所有的基础数据结构,包括image, depthmap, mesh, view,以及数据的输入输出等结构和功能; math—提供矩阵,向量,四元数等基本的数学运算操作; - 不懂运行,下载完可以私聊问,可远程...

    nacosnacosnacos

    5. **REPORTING-BUGS.md**:文件提供了报告 Nacos 问题的流程和建议,帮助用户有效地反馈遇到的问题,以便于项目团队及时解决。 6. **pom.xml**:这是 Maven 项目的配置文件,用于定义项目的构建过程、依赖关系、...

Global site tag (gtag.js) - Google Analytics