游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2353

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

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

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

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

[复制链接]  [移动端链接]
排名
3188
昨日变化
2

8

主题

51

帖子

865

积分

Rank: 9Rank: 9Rank: 9

UID
69950
好友
2
蛮牛币
1412
威望
0
注册时间
2015-1-20
在线时间
241 小时
最后登录
2018-9-28

专栏作家

发表于 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




回复

使用道具 举报

7日久生情
1917/5000
排名
4297
昨日变化
1

0

主题

1335

帖子

1917

积分

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

UID
267381
好友
6
蛮牛币
3212
威望
0
注册时间
2018-2-1
在线时间
258 小时
最后登录
2018-11-6
发表于 2018-5-17 08:47:03 | 显示全部楼层
谢谢分享

回复

使用道具 举报

7日久生情
2016/5000
排名
1981
昨日变化
6

45

主题

770

帖子

2016

积分

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

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

回复

使用道具 举报

5熟悉之中
997/1000
排名
3612
昨日变化
16

0

主题

246

帖子

997

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
1831/5000
排名
1675
昨日变化

4

主题

303

帖子

1831

积分

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

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

回复

使用道具 举报

7日久生情
3369/5000
排名
1809
昨日变化
8

0

主题

2125

帖子

3369

积分

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

UID
219676
好友
1
蛮牛币
2521
威望
0
注册时间
2017-7-12
在线时间
536 小时
最后登录
2018-11-17

活力之星

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

回复

使用道具 举报

5熟悉之中
649/1000
排名
8873
昨日变化
2

0

主题

424

帖子

649

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
486/500
排名
7052
昨日变化
1

0

主题

165

帖子

486

积分

Rank: 4

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

回复

使用道具 举报

6蛮牛粉丝
1078/1500
排名
2394
昨日变化
1

20

主题

191

帖子

1078

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

8常驻蛮牛
7461/10000
排名
247
昨日变化

0

主题

3875

帖子

7461

积分

Rank: 8Rank: 8

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1349/1500
排名
2777
昨日变化
1

1

主题

489

帖子

1349

积分

Rank: 6Rank: 6Rank: 6

UID
220310
好友
1
蛮牛币
2304
威望
0
注册时间
2017-5-2
在线时间
359 小时
最后登录
2018-6-13
发表于 2018-5-22 10:12:22 | 显示全部楼层
谢谢分享

回复

使用道具 举报

排名
30451
昨日变化
9

0

主题

39

帖子

97

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

7日久生情
2016/5000
排名
1981
昨日变化
6

45

主题

770

帖子

2016

积分

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

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

回复

使用道具 举报

2初来乍到
123/150
排名
15668
昨日变化
2

0

主题

32

帖子

123

积分

Rank: 2Rank: 2

UID
108836
好友
0
蛮牛币
9
威望
0
注册时间
2015-6-16
在线时间
47 小时
最后登录
2018-7-24
发表于 2018-5-31 20:03:37 | 显示全部楼层
谢谢分享

回复

使用道具 举报

7日久生情
2694/5000
排名
637
昨日变化

30

主题

576

帖子

2694

积分

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

UID
124569
好友
25
蛮牛币
7111
威望
0
注册时间
2015-10-4
在线时间
798 小时
最后登录
2018-11-16
发表于 2018-6-5 07:44:04 | 显示全部楼层
这个很有用,谢谢分享

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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