在obj文件中翻转面

时间:2016-10-16 00:33:26

标签: unity3d .obj

我动态创建3D模型并编写.obj文件。我在翻转面部的可见面方面遇到了问题。

我做了一个简单的例子:

v  0.0  0.0  0.0
v  0.0  1.0  0.0
v  1.0  0.0  0.0
v  1.0  1.0  0.0

vn  0.0  0.0 -1.0

f  1//1  4//1  3//1
f  1//1  2//1  4//1

enter image description here

以上是分为两个三角形的正方形。 vn线是面法线(垂直于面的矢量)。我在网上看到要翻转脸部,你可以否定法线向量。但是,如果我将法向量乘以-1并尝试以下...

v  0.0  0.0  0.0
v  0.0  1.0  0.0
v  1.0  0.0  0.0
v  1.0  1.0  0.0

vn  0.0  0.0 1.0

f  1//1  4//1  3//1
f  1//1  2//1  4//1

enter image description here

当我将其导入Unity时,它实际上并没有翻转面部的可见面。照明稍有变化,但同一侧仍然可见,另一侧仍然不可见。

当我向相反方向运行时:

enter image description here

1 个答案:

答案 0 :(得分:1)

正常只会影响照明效果。要翻转面,您需要反转三角形的索引顺序,如下所示。

f  3//1  4//1  1//1
f  4//1  2//1  1//1