上回说到了普通的全景图片,这回讲真正的VR。
由于这种图片分为两部分,所以我们需要两个Camera对象以及两个球体。首先新建一个Camera对象,并将其命名为RightEye(其它名字也无妨,只要你自己清楚就行了),将本来的Camera命名为LeftEye,新建两个球,命名为Left和Right。将左Camera和左球的位置设为相同,右Camera和右球的位置也设为相同,但是左右两个球的位置不能重合。注意两个球的Rotate一定要一致!两个camera的rotate也一定要一致!
接下来的操作就比较重要了,大家坐稳。
选择Edit菜单选择Project Setting 选择Tags and layers,展开layers,在两个空白处分别键入Left和Right(如果是空项目,一般是User layer8和9,如果8,9被占了相应往后移)。然后分别将左右球体的layer设为left和right,然后分别将左右Camera的cuilling mask设为left和right(先选nothing,再选left或right,不用一个个点)。最后将左右Camera的Target Eye分别设置为Left和Right。以上操作完成后,左Camera就只显示左边球体的内容,右边Camera同理。
由于图片是分为上下部分的,左眼只需要上半部分,右眼只需要下半部分,所以我们要想办法把左眼的下半部分去掉,右眼同理。Unity的材质Martial有两个属性可以完成以上操作,它们分别是Tiling和Offset,Tiling属性是值材质在物体中所占的大小,值为0-1,offset是偏移量。首先新建两个Martial,分别命名为leftmat和rightmat,shader都选择unitl/Texture,tiling.y都设为0.5,将rightmat的offset.y设置为0.5。导入图片,将两个martial的texture都选择为该图片。
大功告成!快安装到你的大手机上试试吧!