找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 469|回复: 11

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

[复制链接]

该用户从未签到

8

主题

17

帖子

23

积分

LV.1

Rank: 1

积分
23
QQ
发表于 2016-5-23 20:47:27 | 显示全部楼层 |阅读模式

</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

主题

5

帖子

5

积分

LV.1

Rank: 1

积分
5
QQ
发表于 2016-5-24 09:34:42 | 显示全部楼层
路过,支持一下啦

该用户从未签到

1

主题

10

帖子

8

积分

LV.1

Rank: 1

积分
8
QQ
发表于 2016-5-24 11:06:00 | 显示全部楼层
不错不错,楼主您辛苦了。。。

该用户从未签到

0

主题

9

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 14:18:31 | 显示全部楼层
我抢、我抢、我抢沙发~

该用户从未签到

0

主题

9

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 17:18:42 | 显示全部楼层
这是什么东东啊

该用户从未签到

3

主题

17

帖子

17

积分

LV.1

Rank: 1

积分
17
QQ
发表于 2016-5-24 21:14:03 | 显示全部楼层
不知该说些什么。。。。。。就是谢谢

该用户从未签到

0

主题

5

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 22:30:02 | 显示全部楼层
学习了,不错,讲的太有道理了

该用户从未签到

1

主题

9

帖子

8

积分

LV.1

Rank: 1

积分
8
QQ
发表于 2016-11-21 09:07:23 | 显示全部楼层
增强现实希望发展越来越好
  • TA的每日心情
    开心
    2016-11-23 16:14
  • 签到天数: 2 天

    [LV.1]初来乍到

    1

    主题

    11

    帖子

    40

    积分

    LV.1

    Rank: 1

    积分
    40
    发表于 2016-11-21 18:43:24 | 显示全部楼层
    不错,谢谢分享

    该用户从未签到

    2

    主题

    7

    帖子

    5

    积分

    LV.1

    Rank: 1

    积分
    5
    QQ
    发表于 2017-1-12 17:24:41 | 显示全部楼层
    这里竟然还有这么一个关于AR的网站的收藏了
    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    关闭

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

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