找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 302|回复: 6

[其他] 动态映射屏幕四边形到UV空间

[复制链接]

该用户从未签到

4

主题

10

帖子

13

积分

LV.1

Rank: 1

积分
13
QQ
发表于 2016-5-27 21:35:45 | 显示全部楼层 |阅读模式

</b>






本身在学Shader
今朝在找各类后果来实现练手
然后看到了这个

点击查看原图

点击查看原图



剖析后,感到焦点技巧就是把模子正常的UV映射到屏幕空间上的一个不规矩四边形上就可以了
大要是

点击查看原图

点击查看原图


(渣画风请疏忽)



1、起首当然要获得屏幕空间里面辨认图的坐标,妄想偷懒的我,直接放了四个Empty GameObject在辨认图的四个角,然后经由过程Camera.WorldToViewportPoint获得四个点在屏幕空间的坐标,然后把它转换成UV(屏幕空间xy都是-1~1,UV空间是0~1,并且dx和opengl的rendertexture似乎uv的v标的目的有所分歧),趁便把深度保留起来之后有效,所以每个点就是三个数字(u,v,depth)。把这四个点传到shader的p0~p3中
2、因为四边形无法经由过程简略的变换酿成别的一个四边形,所以我决议把UV空间以(x+y=1)为分隔线划成两个三角形来分辨对应屏幕空间不规矩四边形。
3、此刻题目酿成了三角形三个极点分辨都有一个uv值,求出三角形的中心某点由这三点插值出来的uv值。可以经由过程三角形内部线性插值方式来盘算。
4、直接这么盘算今后获得的UV会有相似于透视题目,如下图

点击查看原图

点击查看原图


5、焦点原因是屏幕空间算出来的UV是与透视后的屏幕坐标成线性关系,而我们此刻是要反推算透视前的UV坐标,所以透视前的UV坐标和屏幕空间算出来的UV两个都乘以深度z今后成线性关系(与正常软衬着做UV映射所发生的透视修改恰好相反)。修改后的UV如下

点击查看原图

点击查看原图


6、那么获得了准确的UV今后,就在Shader上把模子正常的UV映射曩昔就好。下图为模子加辨认图(手头没有其他模子,只好用球体来表现)

点击查看原图

点击查看原图


7、具体涂鸦后果(后面是电脑打开绘图东西然后用刷子刷辨认图,球就当做是模子了)

点击查看原图

点击查看原图





代码地址:https://github.com/Tangoyzx/PaintModel

(工程是5.2.1p4版本的,4.6似乎都没后果,看看能不克不及本身贯通Scene然后搬曩昔吧……)
(有些人会看到CUBE上的贴图是个黑底白字的什么CAMERA VIDEO,起首要包管你有摄像头,然后一般是由于BackgroundPlane的Texture不会顿时设置成摄像头的图像,我底本是设了30帧今后再往拿该Texture,不可的话看看本身改成点击拿Texture吧)

(大要发明移动端错乱的题目了,我小我用高通宣布iOS,发明BackgroundPlane的Texture在大要uv年夜于0.66之后的地位会变黑,也就是摄像头的内容并没有展满Texture,没有找到官方的获取摄像头满布景的Texture,也不知道这个题目在分歧平台分歧机种上会不会有分歧,今朝没有想到太好的解决方式……)



(EasyAR此刻官方Unity例子有更简略的实现计划,大师往看阿谁吧)

该用户从未签到

0

主题

7

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2017-4-25 07:20:43 | 显示全部楼层
增强现实,增强现实,增强现实。重要的事情说三遍

该用户从未签到

1

主题

20

帖子

12

积分

LV.1

Rank: 1

积分
12
QQ
发表于 2017-5-12 00:38:48 | 显示全部楼层
增强现实希望发展越来越好

该用户从未签到

1

主题

12

帖子

3

积分

LV.1

Rank: 1

积分
3
QQ
发表于 2017-6-24 04:50:57 | 显示全部楼层
嗯,很不错的样子!!

该用户从未签到

2

主题

10

帖子

6

积分

LV.1

Rank: 1

积分
6
QQ
发表于 2017-7-14 00:08:55 | 显示全部楼层
这里竟然还有这么一个关于AR的网站的收藏了

该用户从未签到

5

主题

22

帖子

15

积分

LV.1

Rank: 1

积分
15
QQ
发表于 2017-7-14 18:41:37 | 显示全部楼层
楼主辛苦了,帮楼主顶起来

该用户从未签到

0

主题

7

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2017-10-9 15:33:18 | 显示全部楼层
楼主辛苦了。。回帖是一种美德
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

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

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