持续创作,加速成长!这是我参与「掘金日新计划 · 6月更文挑战」的第1天,点击查看活动详情
Google VR SDK介绍
Google的VR有两个virtual reality(VR)平台,一个是Cardboard,一个廉价的VR解决方案,2015年Goolgle的I/O推出。另一个就是今年的I/O大会刚刚推出的Daydream,期待着Daydream能够带来更加优质的,性价比高的VR解决方案。
Google VR 服务
Google VR 服务可为 Daydream 和 Cardboard 应用提供虚拟实境功能,包括在进入 VR 时显示通知、将 Daydream 兼容头戴式设备和控制器与 Daydream 兼容手机配对,以及进入和退出 VR 应用。
官方GitHub下载:github.com/googlevr/gv…
全景实现过程:
导入下载好的SDK,两个文件夹(GoogleVR,Plugin)
创建一个Sphere 并将其放大3-5倍左右,然后将主摄像机方到球的中心(操作方法:将主摄像机做为球的子物体,Reset一下然后在将主摄像机拖拽出来)
而后创建出一个shader,并命名为DoubleSided,,双击打开编辑,将原来的代码删除,然后将下面代码粘贴进去:
Shader "VRShader/DoubleSided"
{
Properties
{
_Color("Main Color", Color) = (1,1,1,1)
_MainTex("Texture", 2D) = "white" {}
}
SubShader
{
//Ambient pass
Pass
{
Name "BASE"
Tags {"LightMode" = "Always" /* Upgrade NOTE: changed from PixelOrNone to Always */}
Color[_PPLAmbient]
SetTexture[_BumpMap]
{
constantColor(.5,.5,.5)
combine constant lerp(texture) previous
}
SetTexture[_MainTex]
{
constantColor[_Color]
Combine texture * previous DOUBLE, texture *constant
}
}
//Vertex lights
Pass{
Name "BASE"
Tags {"LightMode" = "Vertex"}
Material
{
Diffuse[_Color]
Emission[_PPLAmbient]
Shininess[_Shininess]
Specular[_SpecColor]
}
SeparateSpecular On
Lighting On
cull off
SetTexture[_BumpMap]
{
constantColor(.5,.5,.5)
combine constant lerp(texture) previous
}
SetTexture[_MainTex]
{
Combine texture *previous DOUBLE, texture *primary
}
}
}
FallBack "Diffuse", 1
}
而后创建材质球并且将你想看到的图片(视频)赋值给材质球,而后给材质球选择上面设置的shader,结果如下图:
而后找到Google文件下的GvrViewerMain预值体,拖拽到场景中即可:
运行场景可以就看到效果如下:
注意:若想要发布到Android上测试需要java jdk 1.8.0版本,andro sdk 5.0 以上版本,Unity版本5.6以上或GoogleVR1.30以上,,,PlayerSetting设置中Virtual Reality Supported选项勾选上->选择CardBoard(纸板模式)
设置如图: