说明:很久以前自己分析出来的,由于对3D不是很了解,可能会有错误,欢迎指正.
注:我现在安装的是[清门精简版]流星,所以提到的文件都是以这个为准。)
打开流星安装目录下的pmodel目录,可以看到4类文件,其中我只明白一点后缀为 *.bnc和*.skc的文件。
----------------------- 四种文件都是有联系的,比如以下都是P1角色的专用文件
p1.bnc 骨骼定义
p1.amb p1.pos 动作
p1_300.skc 皮肤,300个面的,当启动流星时,选择低模时,就使用这个
p1_800.skc 皮肤,800个面的,同上,中模时使用
p1.skc 皮肤,1000个面以上的,高模
------------------------ 用记事本打开p8_800.skc文件,下面详细分析:
//后为我加的注解 -----------------------------------------------------------------
# Character Skin Export for Interserv //昱泉的角色皮肤输出
# Perng Kuo-Luen //作者:彭国伦,曾制作流星图像引擎及铁凤凰图像引擎
Static Skins: 1 Dynamic Skins: 0 //说明以下含有: 静态皮肤1个,动态皮肤0个 Static Skin S_01
//静态皮肤1
{
Materials: 4 //以下为4个材质
Material //材质开始标志
Texture nm009f01.jpg //本材质纹理
ColorKey 0 0 0 0 //本材质关键色,估计将被透明
Ambient 1.000 1.000 1.000 //环境
Diffuse 1.000 1.000 1.000 //漫射
Specular 1.000 1.000 1.000 //反射
Emissive 0.000 0.000 0.000 //自发
Opacity 1.000 //透明度
Option NONE //选项?
TwoSide FALSE //双面, 本材质结束
Material //第2个材质开始,同上
Texture nm009b01.jpg
ColorKey 0 0 0 0
Ambient 1.000 1.000 1.000
Diffuse 1.000 1.000 1.000
Specular 1.000 1.000 1.000
Emissive 0.000 0.000 0.000
Opacity 1.000
Option NONE
TwoSide TRUE Material
Texture nm009b01.jpg
ColorKey 0 0 0 0
Ambient 1.000 1.000 1.000
Diffuse 1.000 1.000 1.000
Specular 1.000 1.000 1.000
Emissive 0.000 0.000 0.000
Opacity 1.000
Option NONE
TwoSide TRUE
Material
Texture nm009b01.jpg
ColorKey 0 0 0 0
Ambient 1.000 1.000 1.000
Diffuse 1.000 1.000 1.000
Specular 1.000 1.000 1.000
Emissive 0.000 0.000 0.000
Opacity 1.000
Option NONE
TwoSide TRUE
Vertices: 798 //顶点定义开始,以下共有798个顶点,每行定义一个
v 0.03452 -0.52756 32.41314 vt 0.299 0.102 Bones 1 13 1.00000
v 0.62915 -0.88321 30.95895 vt 0.186 0.013 Bones 1 12 1.00000
v 0.85233 -0.41247 32.03035 vt 0.163 0.059 Bones 1 12 1.00000
v -0.55575 -1.15244 30.95945 vt 0.434 0.013 Bones 1 12 1.00000
v -0.77267 -0.41247 32.05116 vt 0.457 0.063 Bones 1 12 1.00000
/
说明:
[v] 表示顶点坐标,后跟3个小数(以空格分开)为顶点值,
[vt]表示纹理坐标,后跟2个小数为坐标值,
[Bones] 表示骨骼分配,后跟一个整数,表示本顶点受几个骨骼控制,然后跟若干骨骼对(1个整数,1个小数),表示骨骼号码及相应的权重,例如:Bones 1 13 1.00000 表示受1块骨骼控制,骨骼号为13,权重为1.0
//
v -0.92827 1.60291 34.46316 vt 0.829 0.646 Bones 1 13 1.00000
v -1.08335 -0.37989 34.50843 vt 0.566 0.554 Bones 1 13 1.00000
v -0.67400 -1.08458 34.73746 vt 0.420 0.565 Bones 1 13 1.00000
v -1.10771 -0.50054 34.89464 vt 0.536 0.633 Bones 1 13 1.00000
v -0.86557 -0.78955 34.36079 vt 0.486 0.502 Bones 1 13 1.00000
v -0.23609 -0.96522 34.30387 vt 0.372 0.489 Bones 1 13 1.00000
v 0.44083 1.34523 32.39626 vt 0.995 0.067 Bones 1 12 1.00000
v -0.60500 1.26814 32.49424 vt 0.856 0.058 Bones 1 12 1.00000
Triangles: 801 //开始定义三角面标志,面数为801个
f 3 0 454 455 456
f 3 0 3 1 0
f 3 0 0 4 3
f 3 0 5 6 7
f 3 0 8 9 10
/
说明:
[f] 表示面标志,后跟1个整数,表示此面含有的顶点数,然后第2个整数表示使用的材质,再然后3个整数为顶点的索引号
分析结束,至于其中提到的骨骼,可以参看p8.bnc文件
# Character Bone Export for Interserv //昱泉公司的角色骨骼输出
# by Peter Pon Bones: 30 Dummey: 6 //骨骼30块,Dummey6块
bone b //定义一块骨骼,名称为“b”
{
parent d_base //父骨骼 为 "d_base"
pivot 0.000 0.000 20.729 //中心轴位置
quaternion -0.70711 0.00000 0.00000 0.70711 //四元数
children 1 //下有子骨骼1块
}
bone bad_Pelvis
{
parent b
pivot -0.180 0.000 0.000
quaternion -0.50000 0.50000 0.50000 0.50000
children 1
}
注:我现在安装的是[清门精简版]流星,所以提到的文件都是以这个为准。)
打开流星安装目录下的pmodel目录,可以看到4类文件,其中我只明白一点后缀为 *.bnc和*.skc的文件。
----------------------- 四种文件都是有联系的,比如以下都是P1角色的专用文件
p1.bnc 骨骼定义
p1.amb p1.pos 动作
p1_300.skc 皮肤,300个面的,当启动流星时,选择低模时,就使用这个
p1_800.skc 皮肤,800个面的,同上,中模时使用
p1.skc 皮肤,1000个面以上的,高模
------------------------ 用记事本打开p8_800.skc文件,下面详细分析:
//后为我加的注解 -----------------------------------------------------------------
# Character Skin Export for Interserv //昱泉的角色皮肤输出
# Perng Kuo-Luen //作者:彭国伦,曾制作流星图像引擎及铁凤凰图像引擎
Static Skins: 1 Dynamic Skins: 0 //说明以下含有: 静态皮肤1个,动态皮肤0个 Static Skin S_01
//静态皮肤1
{
Materials: 4 //以下为4个材质
Material //材质开始标志
Texture nm009f01.jpg //本材质纹理
ColorKey 0 0 0 0 //本材质关键色,估计将被透明
Ambient 1.000 1.000 1.000 //环境
Diffuse 1.000 1.000 1.000 //漫射
Specular 1.000 1.000 1.000 //反射
Emissive 0.000 0.000 0.000 //自发
Opacity 1.000 //透明度
Option NONE //选项?
TwoSide FALSE //双面, 本材质结束
Material //第2个材质开始,同上
Texture nm009b01.jpg
ColorKey 0 0 0 0
Ambient 1.000 1.000 1.000
Diffuse 1.000 1.000 1.000
Specular 1.000 1.000 1.000
Emissive 0.000 0.000 0.000
Opacity 1.000
Option NONE
TwoSide TRUE Material
Texture nm009b01.jpg
ColorKey 0 0 0 0
Ambient 1.000 1.000 1.000
Diffuse 1.000 1.000 1.000
Specular 1.000 1.000 1.000
Emissive 0.000 0.000 0.000
Opacity 1.000
Option NONE
TwoSide TRUE
Material
Texture nm009b01.jpg
ColorKey 0 0 0 0
Ambient 1.000 1.000 1.000
Diffuse 1.000 1.000 1.000
Specular 1.000 1.000 1.000
Emissive 0.000 0.000 0.000
Opacity 1.000
Option NONE
TwoSide TRUE
Vertices: 798 //顶点定义开始,以下共有798个顶点,每行定义一个
v 0.03452 -0.52756 32.41314 vt 0.299 0.102 Bones 1 13 1.00000
v 0.62915 -0.88321 30.95895 vt 0.186 0.013 Bones 1 12 1.00000
v 0.85233 -0.41247 32.03035 vt 0.163 0.059 Bones 1 12 1.00000
v -0.55575 -1.15244 30.95945 vt 0.434 0.013 Bones 1 12 1.00000
v -0.77267 -0.41247 32.05116 vt 0.457 0.063 Bones 1 12 1.00000
/
说明:
[v] 表示顶点坐标,后跟3个小数(以空格分开)为顶点值,
[vt]表示纹理坐标,后跟2个小数为坐标值,
[Bones] 表示骨骼分配,后跟一个整数,表示本顶点受几个骨骼控制,然后跟若干骨骼对(1个整数,1个小数),表示骨骼号码及相应的权重,例如:Bones 1 13 1.00000 表示受1块骨骼控制,骨骼号为13,权重为1.0
//
v -0.92827 1.60291 34.46316 vt 0.829 0.646 Bones 1 13 1.00000
v -1.08335 -0.37989 34.50843 vt 0.566 0.554 Bones 1 13 1.00000
v -0.67400 -1.08458 34.73746 vt 0.420 0.565 Bones 1 13 1.00000
v -1.10771 -0.50054 34.89464 vt 0.536 0.633 Bones 1 13 1.00000
v -0.86557 -0.78955 34.36079 vt 0.486 0.502 Bones 1 13 1.00000
v -0.23609 -0.96522 34.30387 vt 0.372 0.489 Bones 1 13 1.00000
v 0.44083 1.34523 32.39626 vt 0.995 0.067 Bones 1 12 1.00000
v -0.60500 1.26814 32.49424 vt 0.856 0.058 Bones 1 12 1.00000
Triangles: 801 //开始定义三角面标志,面数为801个
f 3 0 454 455 456
f 3 0 3 1 0
f 3 0 0 4 3
f 3 0 5 6 7
f 3 0 8 9 10
/
说明:
[f] 表示面标志,后跟1个整数,表示此面含有的顶点数,然后第2个整数表示使用的材质,再然后3个整数为顶点的索引号
分析结束,至于其中提到的骨骼,可以参看p8.bnc文件
# Character Bone Export for Interserv //昱泉公司的角色骨骼输出
# by Peter Pon Bones: 30 Dummey: 6 //骨骼30块,Dummey6块
bone b //定义一块骨骼,名称为“b”
{
parent d_base //父骨骼 为 "d_base"
pivot 0.000 0.000 20.729 //中心轴位置
quaternion -0.70711 0.00000 0.00000 0.70711 //四元数
children 1 //下有子骨骼1块
}
bone bad_Pelvis
{
parent b
pivot -0.180 0.000 0.000
quaternion -0.50000 0.50000 0.50000 0.50000
children 1
}