首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

.x文件的纹理坐标有关问题

2013-03-16 
.x文件的纹理坐标问题纹理坐标是如何对应的,还是纹理坐标就应该这样写??查看正方形模型时发现纹理只有部分

.x文件的纹理坐标问题
纹理坐标是如何对应的,
还是纹理坐标就应该这样写??
查看正方形模型时发现纹理只有部分应用了,部分只有材质设定的颜色而没有纹理

xof 0302txt 0064
Header {
 1;
 0;
 1;
}

Material RedMaterial {                    //第一块材料
1.000000;0.000000;0.000000;1.000000;;     // R = 1.0, G = 0.0, B = 0.0
0.000000;
0.000000;0.000000;0.000000;;
0.000000;0.000000;0.000000;;
TextureFilename { "Tex1.jpg"; }           //纹理文件名
}

Material GreenMaterial {                  //第二块材料
0.000000;1.000000;0.000000;1.000000;;     // R = 0.0, G = 1.0, B = 0.0
0.000000;
0.000000;0.000000;0.000000;;
0.000000;0.000000;0.000000;;
TextureFilename { "Tex2.jpg"; }           //纹理文件名
}

Frame  CubeFrame {      //框架
FrameTransformMatrix {    //初始位置矩阵
  1.000000, 0.000000, 0.000000, 0.000000,
  0.000000, 1.000000, 0.000000, 0.000000,
  0.000000, 0.000000, 1.000000, 0.000000,
  0.001000, 0.001000, 0.001000, 1.000000;;
 }
Mesh Cube {   //网格
8;                                //8个顶点,以下为8个顶点的坐标
1.000000;1.000000;-1.000000;, 
-1.000000;1.000000;-1.000000;,
-1.000000;1.000000;1.000000;, 
1.000000;1.000000;1.000000;,
1.000000;-1.000000;-1.000000;,
-1.000000;-1.000000;-1.000000;,
-1.000000;-1.000000;1.000000;,
1.000000;-1.000000;1.000000;;

12;            // 12个面, 以下为每个面三个顶点的索引
3;0,1,2;,
3;0,2,3;,
3;0,4,5;,
3;0,5,1;,
3;1,5,6;,
3;1,6,2;,
3;2,6,7;,
3;2,7,3;,
3;3,7,4;,
3;3,4,0;,
3;4,7,6;,
3;4,6,5;;

//网格材质列表
MeshMaterialList {
2;                    //使用材质的数量:2块材质
12;                   //为12顶点指定材质
0,                    //为前6个面使用第一块材质
0,
0,
0,
0,
0,
1,                    //为后面的6个面使用第二块材质
1,
1,
1,
1,
1;;
{RedMaterial}       //第一块材质,引用前面定义的RedMaterial材质
{GreenMaterial}     //第二块材质,引用前面定义的GreenMaterial材质
}

//顶点法线
MeshNormals {
8;                    //定义8个法线向量
0.333333;0.666667;-0.666667;,
-0.816497;0.408248;-0.408248;,
-0.333333;0.666667;0.666667;,
0.816497;0.408248;0.408248;,
0.666667;-0.666667;-0.333333;,
-0.408248;-0.408248;-0.816497;,
-0.666667;-0.666667;0.333333;,
0.408248;-0.408248;0.816497;;
12;                   //为12个面的每个顶点指定法线


3;0,1,2;,
3;0,2,3;,
3;0,4,5;,
3;0,5,1;,
3;1,5,6;,
3;1,6,2;,
3;2,6,7;,
3;2,7,3;,
3;3,7,4;,
3;3,4,0;,
3;4,7,6;,
3;4,6,5;;
}

//纹理坐标
MeshTextureCoords {
8;                        //定义8对纹理坐标
0.000000;1.000000;
1.000000;1.000000;
0.000000;1.000000;
1.000000;1.000000;
0.000000;0.000000;
1.000000;0.000000;
0.000000;0.000000;
1.000000;0.000000;;
}
}
}
[解决办法]
纹理坐标是在编辑器里编辑的

热点排行