Source引擎游戏的玩家模型修改和使用教程
http://www.emule.org.cn/images/somerights_cn.gif本文档采用以下许可条款
知识共享署名――非商业性使用――相同方式共享
http://i.creativecommons.org/l/by-nc-sa/2.5/cn/88x31.png
点击上图,查看具体授权方式。
作者: LDuke
译者: page
本教程将指导你怎样建立新的Source引擎游戏的玩家模型材质文件,且如何引用。
当然,你可以制作完整的模型材质文件,同样也可以从步骤4开始,将steam cache(即cfg缓存文件)中的标准模型反编译后进行修改。
需要的工具:
[*]宋体]Cannonfodder's mdl decompiler
[*]宋体]Source SDK (正版用户steam自带)
[*]宋体]GCFscape---------------------俺华丽的分隔线------------------------
步骤1
选好你要使用的模型皮肤并将vtf/vmt文件拷贝到下列类似的目录:
...\Steam\SteamApps\USERNAME\counter-strike source\cstrike\materials\player\yourname\skinname_v1
(注意:文件夹名称的版本很重要,因为假若valve公司修正一些东东使得你也要
修改模型文件时,就必须使用别的名称,否则客户端将不下载新模型文件。)
笔者使用Darkelfa's Urban City CT作为例子,所以将文件拷贝至下列末路:
...\Steam\SteamApps\LDUKE\counter-strike source\cstrike\materials\player\lduke\urbancityct_v1
步骤2
每一个valve材质均是由下列文件组成:
vtf图象文件(包括材质、折射等)
vmt文本文件(包括材质属性,比如材质表面属性)
Darkelfa's CT皮肤模型仅提供了vtf文件,所以我们要从steam 缓存文件中提取到vmt文件,启动GCFscape打开文件...Steam\SteamApps\counter-strike source shared.gcf.
将vmt文件(ct_urban.vmt and ct_urban_glass.vmt)从路径materials/player/ct_urban拷贝至步骤1创建的目录中
如下图:
http://botu.bokee.com/photodata/2007-3-23/011/767/083/7120786/7120786_h.jpg
步骤3
Vmt文件描述了材质文件的路径,我们要修改一下。
将文件ct_urban.vmt "vertexlitgeneric"
{
"$baseTexture" "models/player/ct_urban/ct_urban"
"$envmap" "env_cubemap"
"$bumpmap" "models/player/ct_urban/ct_urban_normal"
"$normalmapalphaenvmapmask" 1
"$envmapcontrast" 0.3
"$envmapsaturation" 0.7
"$envmaptint" "[ 0.36 0.36 0.36 ]"
}修改为: "vertexlitgeneric"
{
"$baseTexture" "models/player/lduke/urbancityct_v1/ct_urban"
"$envmap" "env_cubemap"
"$bumpmap" "models/player/lduke/urbancityct_v1/ct_urban_normal"
"$normalmapalphaenvmapmask" 1
"$envmapcontrast" 0.3
"$envmapsaturation" 0.7
"$envmaptint" "[ 0.36 0.36 0.36 ]"
}同时将文件urban_glass.vmt "vertexlitgeneric"
{
"$baseTexture" "models/player/ct_urban/ct_urban_glass"
// Specularity
"$envmap" "env_cubemap"
"$envmapmask" "models/player/ct_urban/ct_urban_glass_spec"
// Transparency
"$translucent" 1
}修改成 "vertexlitgeneric"
{
"$baseTexture" "models/player/lduke/urbancityct_v1/ct_urban_glass"
// Specularity
"$envmap" "env_cubemap"
"$envmapmask" "models/player/ct_urban/ct_urban_glass_spec"
// Transparency
"$translucent" 1
}注意:笔者并未修改文件ct_urban_glass_spec.vmt的路径,是因为Darkelfa's并未包含该材质
步骤4
确认业已登陆上steam,将文件Cannonfodder's mdldecompiler.exe拷贝至...\Steam\SteamApps\USERNAME\counter-strike source\bin,双击此文件。
这时我们需要反编译steam cfg中的标准模型皮肤文件了,并设定好输出位置
如下图:
http://botu.bokee.com/photodata/2007-3-23/011/767/083/7120795/7120795.jpg
步骤5
使用文本编辑器打开文件mdldecompiler.qc
找到下列
$modelname "player/urban.mdl"
修改为你的模型文件名称
$modelname "player/lduke/urbancityct_v1/urban.mdl"
找到下列
$cdmaterials "models\player\ct_urban\"
在其上行添加材质文件路径
$cdmaterials "models\player\lduke\urbancityct_v1\"
$cdmaterials "models\player\ct_urban\"
添加新路径而不是修改路径,这样当你的皮肤模型文件没有包含某材质时,游戏客户端可以从你的steam cache文件定位文件
步骤6
可以编译了,使用文件mdldecompiler.qc做为程序...\Steam\SteamApps\USERNAME\sourcesdk\bin\studiomdl.exe运行参数,运行命令。
当然一个简单的方法是拷贝下列内容:
("C:\Program Files\Valve\Steam\SteamApps\lduke\sourcesdk\bin\studiomdl.exe" C:\temp\css_models\mdldecompiler.qc pause )修改为你的文件路径,并另存为bat批命令,双击运行。
步骤7
检查文件是否编译成功,点击Steam > Play Games > Source SDK > Model Viewer,打开你的模型文件(本例是models/player/lduke/urbancityct_v1/urban.mdl),确认加载成功
如下图:
http://botu.bokee.com/photodata/2007-3-23/011/767/083/7120802/7120802_h.jpg
希望广大的模型爱好者可以多多做出中国特色的模型来。
这算是个方法,算是给不太清晰的玩家一个方向。
欢迎您加入群(3125884)起源地图研讨群 学习一下,谢谢。最近正研究。 就是枪模怎么改呀,还能联机的!!!! 还是看不懂呀@!!!!!!!
页:
[1]