2013-12-20 41 views
0

我会自动生成三维网格纹理,其中每个三角形的面都有纹理文件中的三角形。它正在工作,但渲染时有可见的黑色边缘。 (不仅在Unity上)隐藏纹理网格的三角形边缘

为什么会出现黑边?我怎么能自动摆脱它们?

渲染 Cube rendering

质地:cube.obj.png Texture

cube.obj

mtllib cube.mtl

#### 
# Vertices 
v 0.5 0.5 0.5 
v -0.5 0.5 0.5 
v 0.5 -0.5 0.5 
v -0.5 -0.5 0.5 
v 0.5 0.5 -0.5 
v -0.5 0.5 -0.5 
v 0.5 -0.5 -0.5 
v -0.5 -0.5 -0.5 
# 8 vertices 
vn 0.57735 0.57735 0.57735 
vn -0.33333 0.66667 0.66667 
vn 0.66667 -0.33333 0.66667 
vn -0.66667 -0.66667 0.33333 
vn 0.66667 0.66667 -0.33333 
vn -0.66667 0.33333 -0.66667 
vn 0.33333 -0.66667 -0.66667 
vn -0.57735 -0.57735 -0.57735 
# 36 vertex textures in submesh 0 
vt 0 1 
vt 0.33301 0.66699 
vt 0 0.66699 
vt 0.33301 0.66797 
vt 0.00097656 1 
vt 0.33301 1 
vt 0.33301 1 
vt 0.66602 0.66699 
vt 0.33301 0.66699 
vt 0.66602 0.66797 
vt 0.33398 1 
vt 0.66602 1 
vt 0.66602 1 
vt 0.99902 0.66699 
vt 0.66602 0.66699 
vt 0.99902 0.66797 
vt 0.66699 1 
vt 0.99902 1 
vt 0 0.66699 
vt 0.33301 0.33398 
vt 0 0.33398 
vt 0.33301 0.33496 
vt 0.00097656 0.66699 
vt 0.33301 0.66699 
vt 0.33301 0.66699 
vt 0.66602 0.33398 
vt 0.33301 0.33398 
vt 0.66602 0.33496 
vt 0.33398 0.66699 
vt 0.66602 0.66699 
vt 0.66602 0.66699 
vt 0.99902 0.33398 
vt 0.66602 0.33398 
vt 0.99902 0.33496 
vt 0.66699 0.66699 
vt 0.99902 0.66699 
# The material will be used for mesh 0 
usemtl material 
# Faces 
f 1/1/1 2/2/2 3/3/3 
f 4/4/4 3/5/3 2/6/2 
f 1/7/1 3/8/3 5/9/5 
f 7/10/7 5/11/5 3/12/3 
f 1/13/1 5/14/5 2/15/2 
f 6/16/6 2/17/2 5/18/5 
f 8/19/8 6/20/6 7/21/7 
f 5/22/5 7/23/7 6/24/6 
f 8/25/8 7/26/7 4/27/4 
f 3/28/3 4/29/4 7/30/7 
f 8/31/8 4/32/4 6/33/6 
f 2/34/2 6/35/6 4/36/4 

cube.mtl

newmtl material 
Ka 0.2 0.2 0.2 
Kd 0.8 0.8 0.8 
Ks 1 1 1 
d 1 
Ns 0 
illum 2 
map_Kd cube.obj.png 

回答

0

看起来像它的纹理像素的线性插值引起的。尝试在纹理中扩展彩色像素1px(复制像素的最后一条彩色线并将其放置在黑色区域的边缘)。

一般来说这是已知的问题。为了防止它艺术家应该在纹理中的多边形边缘周围画一些额外的区域。

+0

添加重复像素边框隐藏边缘。谢谢。 – TermWay