魔兽3模型文件 MDL 格式说明
来源:互联网 发布:烘焙软件 编辑:程序博客网 时间:2024/04/30 17:07
// MDLFile version Aug 9 2002 18:26:44
// Exported on Fri Apr 11 21:47:00 2003
Version {
FormatVersion 800,
}
// 模型数据统计结果
Model "Arthas" {
NumGeosets 4, // 几何体个数
NumHelpers 4, // 帮助者个数
NumBones 36, // 骨骼个数
NumAttachments 9, // 附件个数
NumParticleEmitters2 1, // 粒子发射器个数
NumRibbonEmitters 1, // 带子发射器个数
NumEvents 13, // 事件个数
BlendTime 150, // 混合时间
MinimumExtent { -175.945, -147.584, -73.0451 }, // 最小范围
MaximumExtent { 172.425, 175.079, 553.363 }, // 最大范围
}
// 动作序列
Sequences 13 {
// 各个动作
Anim "Stand - 1" {
Interval { 3333, 6667 }, //启始时间和结束时间
MinimumExtent { -154.372, -145.345, -41.5714 },
MaximumExtent { 135.577, 144.604, 118.823 },
BoundsRadius 207.343, // 碰撞半径
}
Anim "Stand First" {
Interval { 10000, 16667 },
Rarity 5,
MinimumExtent { -154.372, -145.345, -50.8508 },
MaximumExtent { 135.577, 144.604, 129.42 },
BoundsRadius 207.442,
}
// ...
}
// 全局序列
GlobalSequences 2 {
Duration 3333, // 持续时间
Duration 1600,
}
// 纹理
Textures 5 {
Bitmap {
Image "",
ReplaceableId 1, // 可替换纹理ID
}
Bitmap {
Image "Textures/Arthas.blp", // 纹理图片文件名
}
// ....
}
// 材质贴图
Materials 5 {
Material {
Layer { // 材质分层
FilterMode None, // 填充模式(无)
Unshaded,
TwoSided,
static TextureID 0, // 静态纹理ID(即Textures中的每几个纹理,从0开始)
}
Layer {
FilterMode Blend, // 填充模式(混合)
TwoSided,
static TextureID 1,
}
}
Material {
Layer {
FilterMode Transparent, // 填充模式(透明)
static TextureID 1,
}
}
Material {
Layer {
FilterMode Transparent,
TwoSided,
static TextureID 1,
}
}
Material {
Layer {
FilterMode Additive, // 填充模式(迭加)
Unshaded,
static TextureID 2,
// Alpha参数
Alpha 1 {
Linear, // 线性插补
3333: 0.75, // 时间,值
}
}
}
// ...
}
// 几何设置
Geoset {
// 顶点
Vertices 292 {
{ -13.7686, -0.1468, 58.0846 }, // 顶点(x,y,z)
{ 1.97852, -0.1468, 57.8275 },
{ -0.93993, -1.96151, 41.4989 },
{ 1.97852, -0.1468, 57.8275 },
// ...
}
// 法线
Normals 292 {
{ -0.436008, 0.793753, -0.424091 }, // 法线值(x,y,z)
{ 0.303597, 0.939495, -0.158675 },
{ 0.154466, 0.969766, -0.188928 },
{ 0.303597, 0.939495, -0.158675 },
// ...
}
// 纹理坐标
TVertices 292 {
{ 0.324219, 0.570313 }, // 纹理坐标值(u,v)
{ 0.302178, 0.55865 },
{ 0.276749, 0.712802 },
{ 0.324219, 0.570313 },
// ...
}
// 顶点分组
VertexGroup {
21, // 所属顶点分组索引
21,
27,
21,
// ...
}
// 面
Faces 1 624 {
// 三角形(每3个为一个三角形)
Triangles {
{ 0, 1, 2, 3, 4, 2, 2, 4, 5, 5, 4, 6, ... },
}
}
// 顶点分组,32个组,63个值
Groups 32 63 {
Matrices { 4 }, // 对象ID
Matrices { 4, 5 },
Matrices { 4, 5, 16 },
Matrices { 4, 5, 19 },
// ...
}
MinimumExtent { -102.438, -57.7769, -53.4053 },
MaximumExtent { 54.9053, 85.844, 553.363 },
BoundsRadius 305.514,
Anim {
MinimumExtent { -41.1527, -45.6716, -1.38496 },
MaximumExtent { 26.0473, 38.9744, 109.492 },
BoundsRadius 72.5562,
}
Anim {
MinimumExtent { -58.8143, -56.165, -1.01386 },
MaximumExtent { 31.6155, 59.0087, 110.83 },
BoundsRadius 74.0525,
}
// ...
MaterialID 0, // 材质贴图ID(即使用第几个Materials,从0开始)
SelectionGroup 0,
}
// 几何设置(这是第二个,有几个就有这样的几个段)
Geoset {
...
}
// ...
// 骨骼 "hero"
Bone "hero" {
ObjectId 0, // 对象ID(骨骼、Helper、附件等都是Object)
GeosetId 3, // 几何体ID(对哪个几何体中的顶点有影响???)
GeosetAnimId None, // 几何体动画ID
// 缩放变换
Scaling 5 {
Hermite, // Hermite插补
GlobalSeqId 0, // 全局序列ID(对应全局序列)
0: { 1, 1, 1 }, // 时间,插补数据
InTan { 0, 0, 0 },
OutTan { -0.243562, -0.243562, -0.243562 },
833: { 0.82329, 0.82329, 0.82329 },
InTan { -0.0430045, -0.0430045, -0.0430045 },
OutTan { -0.0395641, -0.0395641, -0.0395641 },
1600: { 0.917431, 0.917431, 0.917431 },
InTan { 0.0941409, 0.0941409, 0.0941409 },
OutTan { -0.137755, -0.137755, -0.137755 },
2400: { 0.779677, 0.779677, 0.779677 },
InTan { 0.0381086, 0.0381086, 0.0381086 },
OutTan { 0.04446, 0.04446, 0.04446 },
3333: { 1, 1, 1 },
InTan { 0.308255, 0.308255, 0.308255 },
OutTan { 0, 0, 0 },
}
}
// 骨骼 "hero2" 第2个骨骼,有多少骨骼就有多少这样的数据段
Bone "hero2" {
...
}
// ...
// 帮助者 "Root" (注意,Root只是这个对象的名字,一个模型并非只有一个Root Object,RootObject并非一定叫"Root")
Helper "Root" {
ObjectId 36, // 对象ID
// 平移矩阵
Translation 227 {
Bezier, // 贝塞尔变换
3333: { -9.16376, 0, -4.87333 },
InTan { -9.16318, 0, -4.87383 },
OutTan { -9.17838, 0, -4.86076 },
4167: { -9.16376, 0, -3.2888 },
InTan { -9.16376, 0, -3.90148 },
OutTan { -9.16376, 0, -2.87217 },
4733: { -9.16376, 0, -1.92169 },
InTan { -9.16376, 0, -2.20873 },
OutTan { -9.16376, 0, -0.942364 },
// ...
}
// 旋转矩阵
Rotation 164 {
Hermite, // Hermite变换
3333: { 0, 0, -0.214125, 0.976806 },
InTan { 0, 0, 0.214146, -0.976802 },
OutTan { 0, 0, 0.214146, -0.976802 },
10000: { 0, 0, 0.214125, -0.976806 },
InTan { 0, 0, -0.214212, 0.976787 },
OutTan { 0, 0, -0.214212, 0.976787 },
10033: { -0.000548375, 0, -0.209765, 0.977752 },
InTan { 0.000488569, -0.000172332, 0.210352,
-0.977626 },
OutTan { 0.000488569, -0.000172332, 0.210352,
-0.977626 },
// ...
}
}
Helper "ShoulderL" {
...
}
// ...
// 附件
Attachment "Origin Ref " {
ObjectId 40,
}
Attachment "OverHead Ref " {
ObjectId 41,
}
Attachment "Chest Ref" {
ObjectId 42,
Parent 4, // "Bone_Chest"
}
// ...
// 中心点(每个对象的中心点,这是初始中心点)
PivotPoints 66 {
{ -9.39722, -0.370683, 9.01962 }, // 对象中心点值(x,y,z)
{ -9.39722, -0.370683, 7.70602 },
{ -9.39722, -0.370683, 17.3682 },
{ -9.39722, -0.370683, 28.016 },
// ...
}
// 粒子发射器2(MDX中有两套粒子发射器)
ParticleEmitter2 "BlizParticle01" {
ObjectId 49, // 对象ID
Parent 22, // "Hammer" // 父对象ID
Unshaded,
static Speed 220,
static Variation 0.02,
static Latitude 180,
static Gravity 0,
Visibility 16 {
DontInterp,
3333: 0,
10000: 0,
20000: 0,
30000: 0,
33333: 0,
36667: 0,
40000: 0,
// ...
}
LifeSpan 0.45,
static EmissionRate 35,
static Width 0,
static Length 0,
Additive,
Rows 1,
Columns 1,
Tail,
TailLength 0.55,
Time 0.5,
SegmentColor {
Color { 1, 1, 1 },
Color { 1, 1, 1 },
Color { 1, 1, 1 },
},
Alpha {0, 255, 0},
ParticleScaling {1, 10, 1},
LifeSpanUVAnim {0, 0, 1},
DecayUVAnim {0, 0, 1},
TailUVAnim {0, 0, 1},
TailDecayUVAnim {0, 0, 1},
TextureID 3,
}
// 带子发射器(呵呵,不知道这样叫是否正确。魔3中模型的光带都是这个做出来的,COOL!)
RibbonEmitter "BlizRibbon01" {
ObjectId 50,
Parent 22, // "Hammer"
static HeightAbove 30,
static HeightBelow 30,
static Alpha 0.2,
static Color { 1, 0.803922, 0.52549 },
static TextureSlot 0,
Visibility 17 {
DontInterp,
3333: 0,
10000: 0,
20000: 0,
// ...
}
EmissionRate 35,
LifeSpan 0.1,
Rows 1,
Columns 1,
MaterialID 4,
Translation 2 {
Bezier,
33333: { 0, 0, 0 },
InTan { -9.11689, -32.7187, -633.306 },
OutTan { 0.273507, 0.981561, 18.9992 },
34333: { 0.845135, 3.03302, 58.7074 },
InTan { 0.684157, 2.4553, 47.5251 },
OutTan { 1.22075, 4.38103, 84.7996 },
}
Rotation 2 {
Linear,
33333: { -0.0101647, -0.0364791, -0.706092, 0.707107
},
36667: { -0.0101647, -0.0364791, -0.706092, 0.707107
},
}
}
// 事件对象
EventObject "SNDXDPAL" {
ObjectId 51,
EventTrack 1 {
40000,
}
}
// ...
// 碰撞体
CollisionShape "Collision Sphere01" {
ObjectId 64, // 对象ID
Sphere, // 碰撞体形状(球体)
// 中心点
Vertices 1 {
{ -21.2438, 0, 89.3649 },
}
BoundsRadius 47.1113, // 半径
}
CollisionShape "Collision Sphere02" {
ObjectId 65,
Sphere,
Vertices 1 {
{ -21.2438, 0, 39.548 },
}
BoundsRadius 59.3603,
}
- 魔兽3模型文件 MDL 格式说明
- 魔兽模型【说明/使用方法】
- OpenGL MDL模型显示
- 修改MDL模型
- OpenGL MDL模型显示
- STK mdl模型的制作
- 用命令行建立空白的simulink模型(mdl文件)(Matlab)
- 如何导出魔兽3模型到3Dmax里
- MDL
- MDL
- MDL
- MDL
- MDL
- 用GameSpace和MilkShape 3D,终于成功输出了MDL模型!
- CRF++模型格式 命令 参数 说明
- cap文件的格式说明
- 魔兽3的地图脚本文件简单分析图
- 【分析】魔兽争霸3的MPQ文件及模型格式分析
- Smarty 定界符 花括号 大括号 函数定义 转义
- ArcGIS在线应用介绍(9)越野路线分析
- 数组名字和数组取地址的区别
- DLL
- C# 术语
- 魔兽3模型文件 MDL 格式说明
- 动态网站Web开发用什么语言好?PHP、ASP还是ASP.NET
- Visual C++开发的途中
- 减少功耗同时保持CPU性能的一种方法
- Access 下载 爆库
- js中substr与substring的区别
- COM组件简介
- [sql server] 问题总结17---一个项目涉及到的50个Sql语句(爱新觉罗.毓华整理版)(很值得学习)
- 监控文本输入校验--继承PlainDocument类重写insertString方法