游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2352|回复: 9

关于材质接缝的问题

[复制链接]

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-13 10:30:00 | 显示全部楼层 |阅读模式
还是手工生成几何体(BOX)

BOX用的是一张贴图

我定义的材质UV是这样的

从上到下,从左到右,14个点,UV依次是

(0.0  ,  0.25)
(0.0  ,  0.5  )

(0.25 ,  0.0  )
(0.25 ,  0.25)
(0.25 ,  0.5  )
(0.25 ,  0.75)
(0.25 ,  1.0  )

(0.5   ,  0.0  )
(0.5   ,  0.25)
(0.5   ,  0.5  )
(0.5   ,  0.75)
(0.5   ,  1.0  )

(0.75 ,  0.25)
(0.75 ,  0.5  )

但是我发现在移动摄像机的时候,BOX表面的贴图边上偶尔会有一个像素宽度的其它的颜色(就像一条裂缝),我想肯定是在计算材质UV的时候有截断误差。但不知道该如何处理
sf_20041013103039.jpg

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
 楼主| 发表于 2004-10-13 10:31:00 | 显示全部楼层

Re: 关于材质接缝的问题

这是结果

上面有一个黄色的裂缝
sf_20041013103120.jpg

11

主题

1265

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
发表于 2004-10-13 10:40:00 | 显示全部楼层

Re: 关于材质接缝的问题

你把蓝色块的纹理坐标再减小一点点.....

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
 楼主| 发表于 2004-10-13 10:47:00 | 显示全部楼层

Re:关于材质接缝的问题

晕,我的顶点是按UV展开的(只有14点,不是36个点),蓝色块纹理坐标小了,其他的坐标就会大,那样铁定有裂缝

上面的图是在摄像机到一定位置才会出现的,再靠近或者拉远就没有裂缝了,旋转也会出现同样的问题

11

主题

1265

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
发表于 2004-10-13 10:58:00 | 显示全部楼层

Re: 关于材质接缝的问题

把代码发上来吧,这样不好说~~
怎么才能变成战士?要发多少帖

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2004-10-13 11:31:00 | 显示全部楼层

Re:关于材质接缝的问题

这个问题是由于纹理的sample方式造成的,楼主肯定是用了linear filtering,并同时使用了mipmap。由于在这样的情况下纹理sample时会考虑取样点周围的texel,所以就会把本来不属于某个三角面的texel考虑进来。
如果使用了multisample方式的AA,那么需要考虑centroid sampling来减少出现的错误。

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2004-10-13 11:34:00 | 显示全部楼层

Re:关于材质接缝的问题

解决的办法也没什么特别的,主要就是注意别让四方体不同面的贴图紧紧的在一起,同时把边界扩大一点(一个象素),你注意看看一些游戏里模型的贴图(入魔兽,Doom3里的)就明白了。

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
 楼主| 发表于 2004-10-13 11:57:00 | 显示全部楼层

Re:关于材质接缝的问题

如果不在一起,我就要定义36个点,麻烦

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
 楼主| 发表于 2004-10-13 12:09:00 | 显示全部楼层

Re:关于材质接缝的问题

不是你说的问题,这是计算机截断误差引起的

因为材质坐标是0-1的缩放范围,当摄像机到达某一位置的时候才会出现,不是说我的模型一生成就有问题

这是我生成材质的代码

        D3DXIMAGE_INFO imgInfo;

        hr = D3DXCreateTextureFromFileEx(g_pD3DDev, "./../rc/1.jpg",
                D3DX_DEFAULT, D3DX_DEFAULT, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT,
                D3DX_FILTER_NONE, D3DX_FILTER_NONE, 0x00000000, &imgInfo, NULL, &m_pTex);

我就是不知道如何处理,我这种方式是手工填入的UV坐标,大多数mesh从3D MAX中导出来的时候一般美工会将尖锐处的uv点拆分成多个点来防止这种裂缝的出现

但我不知道有没有其他的解决办法

11

主题

1265

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
发表于 2004-10-13 12:30:00 | 显示全部楼层

Re: 关于材质接缝的问题

只有蓝和黄的边界有这样的问题吗?还是每个面都有?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-22 19:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表