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

扫一扫,访问微社区

开发者专栏

关注:2313

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

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

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

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

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

8

主题

51

帖子

863

积分

Rank: 9Rank: 9Rank: 9

UID
69950
好友
2
蛮牛币
1405
威望
0
注册时间
2015-1-20
在线时间
240 小时
最后登录
2018-7-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




回复

使用道具 举报

7日久生情
1912/5000
排名
4265
昨日变化
5

0

主题

1335

帖子

1912

积分

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

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

回复

使用道具 举报

7日久生情
1847/5000
排名
2288
昨日变化
6

43

主题

745

帖子

1847

积分

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

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

回复

使用道具 举报

5熟悉之中
770/1000
排名
4831
昨日变化
54

0

主题

245

帖子

770

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

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

4

主题

307

帖子

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日久生情
3236/5000
排名
2064
昨日变化
12

0

主题

2116

帖子

3236

积分

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

UID
219676
好友
1
蛮牛币
2406
威望
0
注册时间
2017-7-12
在线时间
492 小时
最后登录
2018-9-20

活力之星

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

回复

使用道具 举报

5熟悉之中
648/1000
排名
8729
昨日变化
10

0

主题

423

帖子

648

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
480/500
排名
6967
昨日变化
4

0

主题

163

帖子

480

积分

Rank: 4

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

回复

使用道具 举报

6蛮牛粉丝
1029/1500
排名
2464
昨日变化
8

20

主题

187

帖子

1029

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

8常驻蛮牛
7422/10000
排名
239
昨日变化
1

0

主题

3862

帖子

7422

积分

Rank: 8Rank: 8

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1349/1500
排名
2692
昨日变化
2

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 | 显示全部楼层
谢谢分享

回复

使用道具 举报

排名
29868
昨日变化
30

0

主题

37

帖子

88

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

7日久生情
1847/5000
排名
2288
昨日变化
6

43

主题

745

帖子

1847

积分

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

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

回复

使用道具 举报

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

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日久生情
2592/5000
排名
686
昨日变化
1

30

主题

551

帖子

2592

积分

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

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

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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