惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Help Net Security
Help Net Security
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
LINUX DO - 热门话题
Security Latest
Security Latest
A
Arctic Wolf
G
GRAHAM CLULEY
月光博客
月光博客
S
Securelist
D
Docker
J
Java Code Geeks
T
Troy Hunt's Blog
T
Tenable Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Forbes - Security
Forbes - Security
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
云风的 BLOG
云风的 BLOG
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
L
Lohrmann on Cybersecurity
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed

博客园 - David Fan

JigLib类简介 3DS 文件格式 AGAL2 how to use UVAnimator to animate my mesh uv? 顶点着色器&像素着色器 AGAL OBJ文件格式 矩阵、欧拉角、轴-角对、四元数随笔 Box2D&Away3D结合的例子 光照模型 仿照实现的away3d4示例应用 利用away3d,jiglibflash在android实现的投骰子 虚拟手柄控制的小车 air3.4 Android IPones4s 下运行正常 实现了一个简单的AS3 MVC框架,希望对大家有所帮助! 负责的一个项目上线了,还有Flex捐给apache是好事! 转-flex自定义组件 ExternalInterface在Flex Project中C#,C++通信使用上的不同 - David Fan vs2008beta2 javascript 智能感知,语法着色不工作。付解决办法。 我正在读和已经读过的书(随时更新心得,欢迎交流)
md5mesh&md5anim
David Fan · 2012-11-13 · via 博客园 - David Fan

MD5MESH文件结构

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中有两个组:JointsMesh

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分量。

 MD5ANIM文件结构

文件头:

MD5Version <integer>

commandline ”<string>”

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

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

具体参数:

numFrames <integer>

numJoints <integer>

frameRate <integer>

numAnimatedComponents <integer>

numFrames - 动画帧数.

numJoints - 骨骼数量

frameRate - 帧频

numAnimatedComponents - 动画元素数量

列表:

<string> {

        [element 1]

        [element 2]

        [element 3]

        … ect …

}

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

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

Hierarchy

“[boneName]“   [parentIndex] [numComp] [frameIndex] // [parentName] ( [tX] [tY] [tZ] [qX] [qY] [qZ] )

boneName -骨骼名称

parentIndex - 骨骼父节点索引.

numComp - 变化的flags

frameIndex - 变化数据在帧中的索引

//以下为可选参数

parentName - The name of the parent bone

[tX] - Optional placeholder just to provide a visual of what components are animated

[tY] - Optional placeholder just to provide a visual of what components are animated

[tZ] - Optional placeholder just to provide a visual of what components are animated

[qX] - Optional placeholder just to provide a visual of what components are animated

[qY] - Optional placeholder just to provide a visual of what components are animated

[qZ] - Optional placeholder just to provide a visual of what components are animated

Bounds

( [minX] [minY] [minZ] ) ( [maxX] [maxY] [maxZ] )

minX - The X component of the frames’s minimum bounding box XYZ position.

minY - The Y component of the frames’s minimum bounding box XYZ position.

minZ - The Z component of the frames’s minimum bounding box XYZ position.

maxX - The X component of the frames’s maximum bounding box XYZ position.

maxY - The Y component of the frames’s maximum bounding box XYZ position.

maxZ - The Z component of the frames’s maximum bounding box XYZ position.

Baseframe

( [xPos] [yPos] [zPos] ) ( [xOrient] [yOrient] [zOrient] )

xPos - 骨骼相对于父骨骼的平移元素的x分量。

yPos - 骨骼相对于父骨骼的平移元素的y分量。

zPos - 骨骼相对于父骨骼的平移元素的z分量。

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

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

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

Frame 0,1,2, ect…

[xPos] [yPos] [zPos] [xOrient] [yOrient] [zOrient]

xPos - 骨骼相对于父骨骼的平移元素的x分量。

yPos - 骨骼相对于父骨骼的平移元素的y分量。

zPos - 骨骼相对于父骨骼的平移元素的z分量。

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

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

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