Unity3D|全息盒子模拟|根据人脸位置改变画面

也许不是正确的做法,总归也算实现了想要的效果。
先说结论:
盒子是五个重新绘制mesh的cube,每个点都是实时更新的,以此实现全息的效果。
想要实现的效果:
屏幕显示的内容根据人的位置做变换来实现模拟真是的物体情况,也就是全息。
思考过程:
1.首先要怎么做到让程序知道我的位置上,从而让程序做变换。我想到的是使用摄像头来获取人脸的位置。unity可以用OpenCVForUnity或者MediaPipe,我倾向于使用MediaPipe,他相对于OpenCV可实现功能少,以手势识别和人脸识别为主,但是OpenCV太消耗性能了。
2.拿到人脸位置就可以模拟人的位置转动模型了,此时发现虽然功能虽然实现了,但是并没有很强的交互感觉,这就要引入盒子的概念。
3.这就出现了问题,我发现如果建一个盒子,不管是动相机还是转模型,盒子的边缘一定会穿帮,于是我尝试使用正交相机。这样效果就有了,但是还是会穿帮。
4.干脆,实时绘制盒子。我需要固定八个点,其中四个点是屏幕的四个角,另外四个点是盒子后边的四个角。屏幕的四个角好说是个固定的位置。后面的四个点是正交相机动的四个点。
5.中间的模型还保持透视相机,更真实。在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值