.mdl是什么文件(CS中mdl文件的解析)

想要用Unity3D做一个FPS游戏,可惜不会做模型,只好去找相关资源。真是少,好多模型网站都是坑爹的,注册完还不让下载。想想如果能用CS里边的模型就好了。上网搜了下资料,挺麻烦的,于是模型动作就不指望了,把模型转成我能用的静态的也行啊。

先是找了个CS的MDL模型的浏览器,(Half-Life Model Viewer ):(这些东西我会打成一个包,文章最后放一个下载地址)

可以看到里边的模型。

这个浏览器能力还是挺强的,能看的都看到了。

CS中模型所在位置以及含义,可以查看百度百科,已经给出超链接。

现在重点在于如果将MDL转换成我想的格式,如我想要的是3DMAX生成的FBX格式。

首先我们要理解一下MDL模型。

一、  MDL文件简介
MDL 是半条命这个游戏引擎中所定义的模型,这个模型文件封装了 3D的模型、材质
和各种骨骼动画(动作文件)。现在 mdl 模型已经被很多游戏和游戏引擎广泛使用。在该文章
中,我们以新建一个简单的 mdl 文件为例讲解 mdl 文件的制作。
在“反恐精英”中我们看到的拿枪的双手和运动的警察和匪徒都是 mdl 的文件。我们
使用“半条命模型浏览器”这个软件可以打开浏览 mdl 文件(CS 的 mdl 文件保存在CS安装
路径下的 cstrike\model 文件夹下)。在该软件中的动作选项上的下拉菜单可以看到 mdl 文件
所包含的各种动作文件,这些动作文件和后面要说的反编译出的 smd 文件的名称相同。也
可以在该软件中滑动滑钮控制动作动画的速度。在这个软件中还可以增加一些简单的地面等
背景,但这个软件只用来浏览 mdl 模型,不能对 mdl 模型进行修改和编辑等操作。要制作
mdl 文件,我们还需要其他的软件工具。

二、 SMD文件详解
剖析 mdl 文件,我们首先打开 MilkShape3D,这个软件封装了“半条命”的软件开发包
(HalfLife SDK),可以对现成的 mdl 文件进行反编译。在 MilkShape3D 中选择 Tools  —>
Half-life  —> Decompile Normal HL MDL File..,然后选择一个 mdl 文件,记得把这个 mdl
文件单独放在一个文件夹中,因为一个复杂的 mdl 文件反编译后会生成很多的材质文件
和.smd 文件,这样不会和别的东西搞混。成功反编译一个 mdl 模型后会生成若干 bmp 的材
质文件和若干 smd 文件以及一个 qc文件。
SMD文件分两种,一种是记录了 mdl 文件中的模型文件信息的 smd 文件,还有一种记
录了 mdl 文件的骨骼动画信息的文件,即动作文件。要制作 mdl 文件首先得制作 smd 文件。
在 MilkShape3D 中可以编辑 smd 文件,可以选择 File  —> Import  —> Half-Life SMD..,从
这里把 smd 文件导入到 MilkShape3D中。但 MilkShape3D并不是一款专业的三维建模软件,
要制作或修改 smd 文件最好还是在 3dsmax 中进行。
3dsmax 是不能直接导入 smd 文件的,要安装 smd 导入导出插件。这些插件可以到网上
下载,目前我只有支持 3dsmax8 的 smd 导入导出插件,其中 SMD 导入插件是一个

SMDImporter.mzp 的文件,将该文件复制到 3dsmax 的安装目录下的 Scripts 文件夹中的
Startup 文件夹下,如我的路径是 D:\Program Files\Autodesk\3dsMax8\Scripts\Startup。然后打
开 3dsmax8,选择“工具”—>“MAXScript”,在下拉菜单中选择 Half-life SMD Import,然
后在下面就会出现一个Import SMD的按钮,点击该按钮就可以导入你想导入的smd文件了。
SMD 导出插件分两个 SMDLEXP.DLE 和 VTAEXP.DLE 文件,将这些文件复制到
3dsmax8 的安装目录下的 plugins 文件夹中,如我的路径是 D:\Program
Files\Autodesk\3dsMax8\plugins。这样就可以在 3dsmax8 中将骨骼动画直接导出成 smd 文件
了。

上面是找的参考,由于我的是3Dmax2010,于是我又找了相关资料和方法,大致是相同的。

将SMDImporter.dli放入plugins里边用于导入,SMDExporter.dle放入stdplugs里边用于导出。

这两个都会在我给的下载包里面找到。

然后就可以打开你的3dmax,来编辑这些个SMD了,而且可以导出你想要的格式,如果不用动画就

不要导骨骼进去了,看起来会有点乱。