Source资源格式

最近闲来无事,研究了一下V社的资源格式,发现真是『开放』啊。

Call of Duty Modern Warfare Remastered Models Release Thread下了几个模型练手,了解了下具体的格式,很多细节都可以从Valve Developer Community里找到。

模型文件

Studiomodel是Source引擎能直接加载的处理过的模型,包含以下信息

  • mdl 模型信息的总和,譬如文件名、路径、骨骼、动画及对应的vvd/phy/ani等文件
  • vmt 材质信息
  • vvd 顶点信息
  • phy 物理信息
  • ani 动画信息

模型文件处理

二进制格式的mdl是无法直接进行编辑的,可以考虑使用Hooch’s fixed version of MDL Decompiler或其他工具处理得到文本格式的SMD和QC文件,然后使用Blender Source Tools 导入到Blender中。

安装这个插件比较简单就不多说了。

在空场景里使用导入QC:

这是使用QC是因为可以一次性把相关的模型部分都导入,如果使用SMD就需要一个个分别导入人肉组合。

然后导出FBX之前,建议删掉Camera/Cube/Lamp/VTA vertices/UnknownModelName/phymodel等信息

贴图处理

Source使用了vtf格式来存储贴图,直接使用VTFEdit批量倒tga出来就行了

材质处理

前面在处理mdl的时候会生成vmt文件

"VertexLitGeneric"
{
"$baseTexture" "models\ninja/COD4R/CHR/SASCT/h1_sp_sas_ct_charles_pouches_col"
"$bumpmap" "models\ninja/COD4R/CHR/SASCT/h1_sp_sas_ct_charles_pouches_nml"

"$phong" "1"
"$phongexponent" "6"
"$phongalbedotint" "1"
"$phongboost" "0.10"
"$phongfresnelranges" "[5 7 8]"
"$lightwarptexture" "models\ninja/COD4R/Clothes_wrp"
"$phongexponenttexture" "models\ninja/COD4R/CHR/SASCT/h1_sp_sas_ct_charles_pouches_spc"
}

这里就非常简单了,参考文档里的Material有更详细介绍~