参考: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.c`中的函数来加载MD5模型文件,解析头部信息,确认文件的合法性。 - 接着,模型的顶点、纹理坐标和索引数据被读入内存,形成模型的基本几何结构。 - `md5anim.c`负责处理动画部分,...
用于Blender 2.80+的MD5导入器/导出器部分: 安装开始之前:收藏大纲视图中的.MD5mesh层次结构开始之前:骨层导入MD5网格导入MD5动画导出MD5网格导出单个MD5动画导出MD5网格和动画此导入/导出脚本提供以下功能:进口...
在3DMax中,如果没有专门的插件,我们无法直接导入或导出MD5格式的文件。而"3dmax插件md5"正是这样一款工具,它为3DMax提供了对MD5格式的支持。这个插件允许用户在3DMax中创建、编辑模型,并将它们导出为MD5格式,...
这两个文件类型是MD5格式的两个主要组成部分:.md5mesh文件包含了模型的几何信息,如顶点、面、纹理坐标等;而.md5anim文件则包含了模型的骨骼结构、关节旋转和平移信息,以及这些信息随时间变化的曲线数据。 在...
MD5模型数据主要包含两部分:模型的顶点数据(MD5Model)和皮肤或纹理贴图数据(MD5Mesh)。这种格式的优点在于轻量级、快速加载,适合实时渲染,但不包含光照、材质等高级特性,需要游戏引擎自行处理。 这个3ds ...
1. **解析MD5文件**:首先,你需要读取并解析.md5mesh和.md5anim文件,提取出模型的几何信息和动画帧数据。这通常涉及到理解文件格式的细节,如节点树结构、时间戳、关键帧数据等。 2. **构建骨骼树**:根据解析出...
8. **文档**:`README.md`和`LICENSE.md`文件分别提供了项目的基本信息和许可协议,帮助用户了解如何使用和分发这个工具。 9. **测试案例**:`poly-test`可能是一个包含测试案例的文件或目录,用户可以通过运行这些...
MD5Load.rar是一个压缩包,其中包含了用于手动解析模型文件并实现CPU皮肤渲染骨骼动画的资源。这个资源可能对游戏开发或3D图形编程的初学者特别有帮助,因为它允许用户深入了解模型数据处理和动画机制。 首先,我们...
这个文件通常是用来介绍项目或资源的说明文档,它可能包含了如何解压、如何访问和使用这些资源的步骤,以及任何必要的注意事项。在Unity的学习过程中,遵循这样的指南是至关重要的,因为它可以帮助你有效地利用这些...
6. **配置文件**:压缩包中的Doxyfile用于配置Doxygen文档生成,.editorconfig则定义了代码风格和格式规则,.gitignore指定了Git版本控制中应忽略的文件,CONTRIBUTING.md提供了对贡献代码的指导,README.md提供了...
<项目介绍> 基于图像的三维模型重建 core—提供了工程项目需要的所有的基础数据结构,包括image、depthmap、mesh、view以及数据...下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
* Molecular Dynamics(MD):用于模拟材料的微观行为。 * Finite Element Method(FEM):用于解决工程问题的数值方法。 * Material Point Method(MPM):用于模拟材料的非线性行为。 * Multiscale simulation:...
core—提供了工程项目需要的所有的基础数据结构,包括image, depthmap, mesh, view,以及数据的输入输出等结构和功能; math—提供矩阵,向量,四元数等基本的数学运算操作; - 不懂运行,下载完可以私聊问,可远程...
5. **REPORTING-BUGS.md**:文件提供了报告 Nacos 问题的流程和建议,帮助用户有效地反馈遇到的问题,以便于项目团队及时解决。 6. **pom.xml**:这是 Maven 项目的配置文件,用于定义项目的构建过程、依赖关系、...