QC文件
QC文件是简单的文本文件 可以用记事本编辑 和需要编译的模型
他们告诉studiomdl.exe 几何物体 贴图 动画 以及必要的参数
太长了懒得翻译了
studiomdl有几个执行的参数 但是一般用不到
-h 是把编译的信息输出到一个文件
范例: studiomdl.exe -h gordon.qc >hitboxes.txt
-a 就不用理会了 只要你不想找麻烦 你就忘掉他的存在 这个是优化模型的 默认是就是优化 不要动他
-i 是忽略编译中的警告
-t 是替换贴图的 我觉得还不如在文件里直接改
$modelname <path>
他告诉studiomdl 模型编译完成后输出的路径
范例: $modelname "C:\Half-Life\valve\models\player\Gordon.mdl"
$cd <path>
告诉studiomdl 在哪里可以找到模型文件
范例: $cd "C:\Half-Life\valve\models\source\Gordon"
$cdtexture <path>
告诉studiomdl 在哪里可以找到贴图文件
范例: $cdtexture "C:\Half-Life\valve\models\source\Gordon\textures"
$externaltextures
告诉 studiomdl 把贴图信息单独的存放在 *t.mdl文件里 不明白为什么要这样做
范例: $externaltextures
$cliptotextures
不明白 反正有没有他都一样 我找不出差别
范例: $cliptotextures
$scale #
调整比例用的 一般都是1
范例: $scale 1.2
$origin <X> <Y> <Z>
这样是为了脚真实的接触到地面 你也可以修改所有的SMD文件 当然没有人这么傻的
范例: $origin 0 0 36
$eyeposition <X> <Y> <Z>
定义眼睛的位置 就是在FPS里看出去的位置 可以在模型里定义, 也可以在CQ里
范例: $eyeposition 0 0 65
$body <smd name> [reverse]
这里可以使用反转命令 很奇怪的东西
范例: $body studio "monster" reverse
$bodygroup <groupname> {smd groups}
如果你的模型包括可以替换的组件 就用这个方式
范例:
$bodygroup weapons
{
studio "shotgun"
studio "mp5"
blank
}
$texturegroup <groupname> {bmp groups}
如果你的模型使用了 可以替换的贴图
范例:
$texturegroup pain
{
{ "body_normal.bmp" "head_normal.bmp" }
{ "body_pain.bmp" "head_pain.bmp" }
}
$renamebone <old bone name> <new bone name>
Character Studio 2.x 和更高的版本 使用了不同的节点名称 为了保证模型的通用性
范例: $renamebone "Bip01 R Clavicle" "Bip01 R Arm"
$include <.qc filename>
使用其他的QC文件 不明白 为什么非要怎么做
范例: $include "C:\Half-Life\valve\models\player\player_shared.qc"
$attachment <#> <bone> <X> <Y> <Z>
为了给特殊的节点定位用的 一般是定位SPR文件的位置 限制为4个
范例: $attachment 0 "Bip01 R Hand" 20 2 5
$controller <#> <bone> <axis of Rotation> <limits of rotation>
允许游戏直接对骨骼的旋转值进行控制
example 1: $controller 0 "Bip01 Head" XR -60 60
example 2: $controller mouth "Bone03" ZR 0 45
$hbox <group #> <bone> <X> <Y> <Z> <X> <Y> <Z>
定义的 hitbox 好象只有8个组
0: Generic 2: Chest 4: Left Arm 6: Left Leg
1: Head 3: Stomach 5: Right Arm 7: Right Leg
范例: $hbox 7 "Bip01 R Leg1" 0.31 -3.97 -2.84 17.60 3.94 2.97
范例: $hbox 7 "Bip01 R Foot" -0.56 -2.34 -2.19 3.81 8.00 2.66
$sequencegroupsize <# in KB>
使用小型文件存放序列
范例: $sequencegroupsize 64
$bbox <X> <Y> <Z> <X2> <Y2> <Z2>
不明白 bounding box 到底是干什么用的
$cbox <X> <Y> <Z> <X> <Y> <Z>
没有说明资料
$flags <#>
?????????
$gamma <src value>
编译的时候 指定贴图的gamma 值
$hgroup <group #> <bone>
没有说明资料
$Rotate < # degrees>
可能是为了弥补 各种工具的坐标不统一
$sequencegroup <name>
用于使用单独的文件存放序列