本次文章分享实现使用Unity3d实现360全景图的预览效果,由于没有使用到VR硬件设备,所以此应用不敢妄称VR,小称为小VR
1:思路理清
360全景图效果在Unity3d中预览,说白一点就是在Unity3d中看全景图,一共有2种思路,一种是将全景图变成天空盒子,从而实现全景效果;一种是将全景图变成某个球体的材质,让摄像机在球体内部看片。
2:天空盒子方法
2.1首先创建好一个新的材质,我取名为VRPicMaterial
2.2将其中的shader设置为Skybox—Panoramic,Panoramic意思就是全景的意思,因为全景图我准备的是一张完整的全景图。
2.3将图像资源选择成我们准备好的全景图,全景图可以从网上去下载,也可以用360全景相机去拍摄。
2.4打开window-Rendering-Lighting设置,将Environment中的Skybox Material设为我们刚刚设置好的VRPicMaterial材质。
2.5场景中的天空盒子已设置为我们的全景图
3:球体材质思路
3.1创建一个3D球体-Sphere,将其设大一点,我将其Scale中的x,y,z均设置为1.5,由于摄像机要在球体内部去看图,所以该球体的材质应该内显。
创建一个新的材质,命名为VRPicMaterial2,材质的效果可以由shader文件来控制,所以还需要再创建一个新的shader文件,命名为VRShader。
3.2编辑VRShader文件
我用记事本打开的shader文件,在其第一个SubShader下添加Cull off代码,修改其渲染状态,可以达到球体内部亦能观看渲染效果的画面。
将VRPicMaterial2的shader文件选择我们刚刚设置好的shader文件,并添加我们的全景图。
3.3将VRPicMaterial2赋给球体文件,并将摄像机放置进球体内部中心位置。最后效果实现
案例中360图像资源:下载地址