Unity与全息投影

来源:互联网 发布:华润五丰待遇知乎 编辑:程序博客网 时间:2024/05/01 17:55

一:说明

目前,淘宝里买家卖的全息的项目和资源都是视频的,视频具体怎么做的不清楚,

但是视频的只能是看。演示观赏而已,缺少交互。

于是,我用Unity3d程序编写一个程序,能和视频一样显示出来,

这样在全息架子上可以从各个角度观察三维立体的效果,

此外,视频的只是图片的效果。

程序里用的是真实的三维模型,带有动画,音乐,特效的舞台效果。

后面继续做的话可以添加交互,通过语音口令,

比如说:打招呼,模型就会播放打招呼的动画,还可以说话等等

二:详细制作

1. 找到三维资源模型,切割动画

不会建模,找了两个模型,切割好动画。(这个就不细说了)

2. 自动循环播放几段动画


3.做点舞台灯光粒子特效,播放音乐啥的(很多特效包里有)

4. 摄像头角度计算(重点)

摄像头一开始也不知道怎么做,先研究了一下视频的效果。如图:

研究分析结果:

四个位置分别是正面,右侧,背面,左侧


于是在我的模型的四个方位放了四个摄像头


 圆形的为音乐盒,方形的为四个方位的摄像头

5.摄像头位置计算

摄像头放好了,但是并不能正确的拍摄出我要的四个方位,于是还要计算摄像头的坐标包括位置,大小,旋转。

经过一番草稿纸的计算,草稿纸丢了,结果如下。

   

 

由于屏幕分辨率不是正方形所以垂直方向和水平方向的有差异,但是同一条线上的两个摄像头必须是对称的,否则在全息的架子里显示的四个方位会有视觉差异。

6. 摄像头世界坐标,屏幕坐标等的转换计算

摄像头虽然能正确的照射,但是并不能正确的把四个摄像头看到的东西正确的显示在同一个屏幕上,于是需要对摄像头的屏幕坐标进行计算,划定屏幕显示区域。

然后又经过一番草稿纸的计算,然后草稿纸又丢了(习惯不好),结果显示在屏幕上用颜色划分如图:


四个摄像头的屏幕坐标如图:

此外,还要根据具体情况调整摄像头的深度,否则会出现重叠的状况。

最后显示的效果如图:



三.最终结果








0 0