无法获得顶点以完成三角形
Cannot get a vertex in position to complete a triangle
当我尝试创建立方体的那一侧时,我不知道为什么,但我无法找到那个顶点的位置,使它完成三角形并且我在那一侧有一个面。
目标是在顶部放置一个立方体,使其看起来像火车车厢。我尝试了很多不同的方法,但它就是不会形成 2 个三角形,它只是一个不断上下移动的三角形。
下面我放了创建前车的函数。
function makeTrainCar(){
s = 0.5;
var position = [
-s, -s, -s,
s, -s, -s,
s, s, -s,
-s, s, -s,
-s, -s, s,
s, -s, s,
s, s, s,
-s, s, s,
-s, -s, -s,
-s, s, -s,
-s, s, s,
-s, -s, s,
s, -s, -s,
s, s, -s,
s, s, s,
s, -s, s,
-s, -s, -s,
-s, -s, s,
s, -s, s,
s, -s, -s,
//Top of car
-s, s, -s,
-s, s, s,
s*0, s, s,
s*0, s, -s,
s*0, s*2.5,-s,
s*0, s*2.5,s,
s*0, s, s,
s*0, s, -s,
s, s, -s,
s, s, s,
s, s*2.5, s,
s, s*2.5,-s,
s, s, -s,
s, s*2.5, -s,
s*0, s*2.5, -s,
s*0, s, -s,
-s*0, s*2.5, s,
s, s, s,
s, s*2.5, s,
-s*0, s, s,
];
var normal = [0, 0, 1, 0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1];
var texture = [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1,
1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1,
1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
//
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
];
var index = [0, 1, 2, 0, 2, 3,
4, 5, 6, 4, 6, 7,
8, 9, 10, 8, 10, 11,
12, 13, 14, 12, 14, 15,
16, 17, 18, 16, 18, 19,
20, 21, 22, 20, 22, 23,
//
24, 25, 26, 24, 26, 27,
28, 29, 30, 28, 30, 31,
32, 33, 34, 32, 34, 35,
36, 39, 38, 36, 38, 39,];
return {
position: position,
normal: normal,
texture: texture,
index: index
}
}
索引数组最后一行不正确:36,39,38,36,38,39,应该是36,37,38,36,38,39:
var index = [0, 1, 2, 0, 2, 3,
4, 5, 6, 4, 6, 7,
8, 9, 10, 8, 10, 11,
12, 13, 14, 12, 14, 15,
16, 17, 18, 16, 18, 19,
20, 21, 22, 20, 22, 23,
//
24, 25, 26, 24, 26, 27,
28, 29, 30, 28, 30, 31,
32, 33, 34, 32, 34, 35,
36, 37, 38, 36, 38, 39,];
当我尝试创建立方体的那一侧时,我不知道为什么,但我无法找到那个顶点的位置,使它完成三角形并且我在那一侧有一个面。
目标是在顶部放置一个立方体,使其看起来像火车车厢。我尝试了很多不同的方法,但它就是不会形成 2 个三角形,它只是一个不断上下移动的三角形。
下面我放了创建前车的函数。
function makeTrainCar(){
s = 0.5;
var position = [
-s, -s, -s,
s, -s, -s,
s, s, -s,
-s, s, -s,
-s, -s, s,
s, -s, s,
s, s, s,
-s, s, s,
-s, -s, -s,
-s, s, -s,
-s, s, s,
-s, -s, s,
s, -s, -s,
s, s, -s,
s, s, s,
s, -s, s,
-s, -s, -s,
-s, -s, s,
s, -s, s,
s, -s, -s,
//Top of car
-s, s, -s,
-s, s, s,
s*0, s, s,
s*0, s, -s,
s*0, s*2.5,-s,
s*0, s*2.5,s,
s*0, s, s,
s*0, s, -s,
s, s, -s,
s, s, s,
s, s*2.5, s,
s, s*2.5,-s,
s, s, -s,
s, s*2.5, -s,
s*0, s*2.5, -s,
s*0, s, -s,
-s*0, s*2.5, s,
s, s, s,
s, s*2.5, s,
-s*0, s, s,
];
var normal = [0, 0, 1, 0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1,0, 0, 1];
var texture = [0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1,
1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1,
1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
//
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
];
var index = [0, 1, 2, 0, 2, 3,
4, 5, 6, 4, 6, 7,
8, 9, 10, 8, 10, 11,
12, 13, 14, 12, 14, 15,
16, 17, 18, 16, 18, 19,
20, 21, 22, 20, 22, 23,
//
24, 25, 26, 24, 26, 27,
28, 29, 30, 28, 30, 31,
32, 33, 34, 32, 34, 35,
36, 39, 38, 36, 38, 39,];
return {
position: position,
normal: normal,
texture: texture,
index: index
}
}
索引数组最后一行不正确:36,39,38,36,38,39,应该是36,37,38,36,38,39:
var index = [0, 1, 2, 0, 2, 3,
4, 5, 6, 4, 6, 7,
8, 9, 10, 8, 10, 11,
12, 13, 14, 12, 14, 15,
16, 17, 18, 16, 18, 19,
20, 21, 22, 20, 22, 23,
//
24, 25, 26, 24, 26, 27,
28, 29, 30, 28, 30, 31,
32, 33, 34, 32, 34, 35,
36, 37, 38, 36, 38, 39,];