下载安装Unity开发工具,要求Unity 5.3.0 或更高版本
 
 
 
 
下载Oculus签名,做Gear VR交互功能模块。关于输入交互,可以下载VR Samples(地址:https://www.assetstore.unity3d.com/cn/#!/content/51519)使用,其原理大家可以看源码,相机输入,射线检测,触摸屏事件,通过Input类完成封装。打开设置,勾选Virtual Reality Supported。(5.2版本及以上)
 
 
 
 
Unity天空盒,从Asset Store下载天空盒资源替换到场景中

 
 
 
Canvas的世界坐标系,将Canvas的Render Mode设置为World Space。但是这样并不利于我们开发阶段的调整。在制作UI时,先在Screen Space -Overlay模式下制作和调整,做完再设置回来。在Canvas下创建一个子节点Window,我们可以通过调整Window来控制整体UI的大小,远近。
 
 
 
安卓导出jar包,在Unity工程中调用安卓jar包
AndroidJavaClass jc=new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo=jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("startPlayerActivity", url);

 
 
 
Unity添加贴图,可以添加本地和网络上的图片
Sprite sprite = Sprite.Create(image, new Rect(0, 0, image.width, image.height), new Vector2(0.5f, 0.5f));

 
 
 
Unity动态给物体添加脚本 
obj.AddComponent<AsyncImageDownload> ();
 
 
 
 

Unity 调后台接口,解析返回的json数据(LitJson)
 
public IEnumerator Request()
    {
        string SERVERHTTP = "http://api.utovr.com/videocategory/getvideos?id=" + PlayerPrefs.GetInt("type");
        WWW ret = new WWW(SERVERHTTP);
        yield return ret;
        if (ret.error != null)
        {
            Debug.LogError("error:" + ret.error);
            yield break;
        }

if (string.IsNullOrEmpty(ret.text))
        {
            yield break;
        }
        JsonData jsdArray = JsonMapper.ToObject(ret.text);//转换成json格式;需要引入LitJson
        JsonData jsdList = jsdArray["Data"];
        if (jsdList.IsArray) { 
            for (int i = 0; i < jsdList.Count; i++) {
                JsonData jsd = jsdList [i];      
                VideoInfo vi = new VideoInfo ();
                vi.Name = (string)jsd ["Name"];
                vi.Thumbnail = (string)jsd ["Thumbnail"];
                vi.HlsPath1K = (string)jsd ["HlsPath1K"];
                list.Add (vi);
            }
        }

}

 
 
 
动态调整物体位置和文字大小,动态布局
 
    private void addCube(int index, Vector3 v) {
        VideoInfo vi = list [index];
        GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        cube.transform.position = v;
        cube.transform.rotation = new Quaternion(0,0,180, 0);
        cube.transform.localScale = new Vector3(4,3,0.01f);
        cube.name = vi.Name;
        cube.AddComponent<VRInteractiveItem>();
        InteractiveItem eii = cube.AddComponent<InteractiveItem>();
        eii.url = vi.HlsPath1K;
        eii.name = vi.Name;
        eii.Thumbnail = vi.Thumbnail + "|" + vi.SubName + "|" + vi.Description;
        StartCoroutine(Load(cube, vi.Thumbnail));
    }
 
 
 
 
Unity界面滑动效果(UListView)
 
 
 
场景切换
SceneManager.LoadScene("SceneName", LoadSceneMode.Single);
 
 

Gear VR开发的更多相关文章

  1. 使用Unity5.1进行VR开发的配置(最新的未必是最好的!!!)

    随着Unity5.1的发布,之前的Oculus Rift和Gear VR 开发流程发生了巨大的变化,这也算是小白鼠们必须付出的代价了~ 那么Unity5.1和Oculus的整合究竟发生了哪些变化,对开 ...

  2. 如何有效提升Unity Gear VR游戏性能

    http://www.vr186.com/vr_news/vr_technical_area/1093.html 好的,所以你决定用 Unity 来做一个 VR 游戏,并选定了三星 Gear vr 为 ...

  3. 三星Gear VR与Oculus Rift DK2全方位比拼

    网易数码1月6日消息,Oculus Rift DK2并不是面向消费者的产品,而三星Gear VR则进入了大众市场.虽然二者有点不同,但还是值得对比一番,看看Gear VR相比当下虚拟现实领域佼佼者Oc ...

  4. 三星首次更新Gear VR虚拟现实浏览器Samsung Internet

    通过VR浏览网页不是问题,不过你需要一个专门的VR浏览器,而GearVR的虚拟现实应用名为"Samsung Internet for Gear VR".继去年12月份上线后,迎来了 ...

  5. VR开发中性能问题—OculusWaitForGPU

    http://blog.csdn.net/cartzhang/article/details/50788894 VR开发中性能问题-OculusWaitForGPU 本文章由cartzhang编写,转 ...

  6. 优分享VR开源啦,优分享VR是基于Google VR开发的一款手机VR视频资源的聚合软件

    欢迎来到优分享VR开源项目 优分享VR 开源中国Git地址: http://git.oschina.net/xumingwang/youkes_vr 优分享VR是 优分享安卓APP VR视频播放开源部 ...

  7. 三星首次更新Gear VR虚拟现实浏览器

    通过VR浏览网页不是问题,不过你需要一个专门的VR浏览器,而GearVR的虚拟现实应用名为"Samsung Internet for Gear VR".继去年12月份上线后,迎来了 ...

  8. 关于VR开发中的穿墙问题随想

    在VR开发中,用户将以第一人称的视角进入虚拟世界,即用户同时身处两个坐标系:1. 现实世界坐标系(如房间的坐标系),用户的身体处于这个坐标系 2. VR世界坐标系,用户的感官处于这个坐标系,即用户觉得 ...

  9. VR开发 VR development

    VR开发 VR development 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com Ho ...

随机推荐

  1. js 表单验证

    不错的JS验证~~~~~~~~~~~~~~~~~~~~~~~~~ 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false: */ function i ...

  2. IE10、IE11和Microsoft Edge的Hack

    IE10.IE11和Microsoft Edge的Hack 随着Win10的推广,Microsoft Edge浏览器已经越来越普遍,但是IE11也是伴随其中,尾大不掉. 首先,了解一下概念,如下图:微 ...

  3. PHP实现文件上传

    一.关于全局变量$_FILES $_FILES包含有所有上传的文件信息.假设文件上传字段的名称为 img.则 $_FILES['img']['name']:客户端上传的文件的原名称. $_FILES[ ...

  4. performSelector和performSelectorInBackground

    前者是在主线程下完成的, 不会自动创建一个线程. 后者会创建一个新的线程.

  5. MVC5+EF6 入门完整教程十

    本篇是第一阶段的完结篇. 学完这篇后,你应该可以利用MVC进行完整项目的开发了. 本篇主要讲述多表关联数据的更新,以及如何使用原生SQL. 文章提纲 多表关联数据更新 如何使用原生SQL 总结 多表关 ...

  6. 如何在Linux服务器中隐藏PHP版本

    通常,大多数默认设置安装的web服务器存在信息泄露,这其中之一就是PHP.PHP 是如今流行的服务端html嵌入式语言(之一?).在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端的漏洞.因此, ...

  7. 用cmd命令行导数据

    Imp  hbtest/hbtest@moms file=d:/hj.dmp fromuser=moms touser=hbtest 也可以用PL/SQL Developer "工具&quo ...

  8. erlang服务器启动,有情况会报,enif_send: env==NULL no ono-SMP VMAborted 的错误报告?

    问题的原因所在: 1:因为你当前使用的主机是一个单核的主机(不会自动启动): 2:多核上如果不设置-smp enable是不会有什么问题的,因为从OTP R12B开始,如果操作系统报告有多于1个的CP ...

  9. μC/OS-Ⅲ系统的任务切换和任务调度

    一.任务切换 在操作系统中当任务需要从一个任务切换到另外一个任务时,要将当前任务的现场保存到当前任务的堆栈中(当前任务现场主要指CPU相关寄存器),然后回复新任务的现场并执行新任务.这个叫做上下文切换 ...

  10. CSS大美集

    细节1……………………………………………………………………………… 一.当文字与图片在一行,需要将文字与图片底对齐,可以这样写: <div>记住密码<img src="im ...