开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2213

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 763|回复: 12

[lxqiang87] UI上显示模型时残留轮廓问题

[复制链接]  [移动端链接]
排名
3255
昨日变化
9

8

主题

50

帖子

800

积分

Rank: 9Rank: 9Rank: 9

UID
69950
好友
2
蛮牛币
1303
威望
0
注册时间
2015-1-20
在线时间
226 小时
最后登录
2018-5-26

专栏作家

发表于 2018-5-16 16:05:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 lxqiang87 于 2018-5-17 10:43 编辑

在UI上显示模型大致两种方法,一是直接把模型放在UI上渲染,二是另启一个相机(或者commandbuffer)将模型渲染到rendertexture上,然后把rendertexture在UI上当做图片来渲染。

第一种方式由于不利于UI层级管理,大部分项目用的第二种方式。大体方案是指定一个分辨率的rendertexture,赋给渲染模型的camera,相机clearcolor的a设置成0,这样模型存在的像素上a是大于0的。后续混合到UI背景上时使用One OneMinusSrcalpha的blend就能保证保留实体模型,丢弃原背景。
uiModel.png

如上图所示,大体上达到要求,但是细心观察能看到模型的周围有一个轮廓边。轮廓边的产生是由于纹理采样的误差导致的。
textureSample.png

在填充一个像素的时候,通过uv坐标去采样纹理,但是uv坐标不一定正好指定在一个像素上,还可能(很可能)指定在四个像素之间,这时候硬件会根据周围四个像素插值出这个坐标的颜色。如下图所示,图中的0和1表示纹理的alpha值,我们把它想象成rendertexture中模型实体和背景的边界,红点表示当前要渲染的像素,此时红点的值应该是0到1之间,blend之后是会渲染出背景颜色的,这个漏出的背景颜色就是我们看到的轮廓边。(比如在渲染模型时用的ClearColor是红色,则轮廓边就是红色的)

想要去掉轮廓边,就需要uv坐标正好取在纹理的像素之上,而不是像素之间。要达到这个要求,需要满足两点:1.渲染像素和输入的纹理像素是一一对应的,也就是渲染的quad的分辨率和输入的rendertexture的分辨率必须一致。2.渲染的每个像素要和输入的纹理像素一一对齐,由于分辨率是一致的,所以只要起始像素对齐,也就都对齐了。

分辨率一致的要求比较简单,需要换算一下渲染的UI上的quad的实际分辨率是多少,然后根据这个分辨率去设置rendertexture的分辨率。
像素对齐的要求可以用一个取巧的方法,把纹理采样的方式从Bilinear改为Point,也就是即使没有对齐,但是会找最近的像素,而不是去相邻四个像素去插值。
欢迎来我的github看其他blog:https://github.com/liuxq/blog




回复

使用道具 举报

6蛮牛粉丝
1440/1500
排名
6183
昨日变化
45

0

主题

1069

帖子

1440

积分

Rank: 6Rank: 6Rank: 6

UID
267381
好友
3
蛮牛币
2350
威望
0
注册时间
2018-2-1
在线时间
179 小时
最后登录
2018-5-27

迈向小康

发表于 2018-5-17 08:47:03 | 显示全部楼层
谢谢分享

回复

使用道具 举报

6蛮牛粉丝
1497/1500
排名
3187
昨日变化
23

37

主题

683

帖子

1497

积分

Rank: 6Rank: 6Rank: 6

UID
219600
好友
7
蛮牛币
2190
威望
0
注册时间
2017-4-27
在线时间
373 小时
最后登录
2018-5-26
发表于 2018-5-17 09:10:06 | 显示全部楼层

回复

使用道具 举报

3偶尔光临
161/300
排名
13925
昨日变化
253

0

主题

72

帖子

161

积分

Rank: 3Rank: 3Rank: 3

UID
279508
好友
0
蛮牛币
300
威望
0
注册时间
2018-5-2
在线时间
39 小时
最后登录
2018-5-26
发表于 2018-5-17 09:10:34 | 显示全部楼层
谢谢分享

回复

使用道具 举报

7日久生情
1703/5000
排名
1631
昨日变化
1

4

主题

291

帖子

1703

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
98190
好友
2
蛮牛币
3323
威望
0
注册时间
2015-5-7
在线时间
706 小时
最后登录
2018-5-24
发表于 2018-5-17 14:45:35 | 显示全部楼层
谢谢分享。。。!!!

回复

使用道具 举报

7日久生情
2692/5000
排名
2953
昨日变化
16

0

主题

1888

帖子

2692

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
0
蛮牛币
2488
威望
0
注册时间
2017-7-12
在线时间
370 小时
最后登录
2018-5-26

活力之星

发表于 2018-5-18 11:53:36 | 显示全部楼层
谢谢分享
[发帖际遇]: 夜雨微凉 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
219/300
排名
16246
昨日变化
422

0

主题

149

帖子

219

积分

Rank: 3Rank: 3Rank: 3

UID
250036
好友
0
蛮牛币
485
威望
0
注册时间
2017-10-21
在线时间
34 小时
最后登录
2018-5-26
发表于 2018-5-18 14:29:10 | 显示全部楼层
谢谢分享

回复

使用道具 举报

4四处流浪
337/500
排名
8678
昨日变化
5

0

主题

116

帖子

337

积分

Rank: 4

UID
243107
好友
0
蛮牛币
369
威望
0
注册时间
2017-9-13
在线时间
103 小时
最后登录
2018-5-25
发表于 2018-5-18 15:04:33 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
947/1000
排名
2596
昨日变化

19

主题

177

帖子

947

积分

Rank: 5Rank: 5

UID
44764
好友
0
蛮牛币
170
威望
0
注册时间
2014-9-13
在线时间
261 小时
最后登录
2018-5-25
发表于 2018-5-18 17:05:57 | 显示全部楼层
我ngui做atlas时有时候会遇到这种情况,就是sprite边缘有线,很烦,不知道适不适用

回复 支持 反对

使用道具 举报

8常驻蛮牛
7181/10000
排名
212
昨日变化

0

主题

3741

帖子

7181

积分

Rank: 8Rank: 8

UID
3215
好友
0
蛮牛币
374
威望
0
注册时间
2013-9-4
在线时间
1568 小时
最后登录
2018-5-24
发表于 2018-5-19 10:00:52 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1305/1500
排名
2673
昨日变化
3

1

主题

481

帖子

1305

积分

Rank: 6Rank: 6Rank: 6

UID
220310
好友
1
蛮牛币
2226
威望
0
注册时间
2017-5-2
在线时间
347 小时
最后登录
2018-5-25
发表于 5 天前 | 显示全部楼层
谢谢分享

回复

使用道具 举报

排名
28589
昨日变化
13

0

主题

37

帖子

84

积分

Rank: 2Rank: 2

UID
119006
好友
0
蛮牛币
20
威望
0
注册时间
2015-8-20
在线时间
37 小时
最后登录
2018-5-25
发表于 前天 16:49 | 显示全部楼层
66666666666

回复

使用道具 举报

6蛮牛粉丝
1497/1500
排名
3187
昨日变化
23

37

主题

683

帖子

1497

积分

Rank: 6Rank: 6Rank: 6

UID
219600
好友
7
蛮牛币
2190
威望
0
注册时间
2017-4-27
在线时间
373 小时
最后登录
2018-5-26
发表于 昨天 09:41 | 显示全部楼层
感谢分享

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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