vr全景照片app(vr图片场景)

【Android开发VR实战】一.给用户呈现一个360°全景图片VR即VirtualReality虚拟现实。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。那么,如何在Android中去开发VR功能的APP呢?我们利用谷歌提供的开源SDK去实现一个360°全景图片的功

大家好,又见面了,我是你们的朋友全栈君。

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53905681
本文出自【DylanAndroid的博客】


【Android开发VR实战】一.给用户呈现一个360°全景图片

VR即Virtual Reality虚拟现实。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。
那么,如何在Android中去开发VR功能的APP呢?我们利用谷歌提供的开源SDK去实现一个360°全景图片的功能

vr全景照片app(vr图片场景)
vr全景照片app(vr图片场景)

一.在build.gradle中引入谷歌VR的SDK依赖

 compile 'com.google.vr:sdk-panowidget:1.10.0'

二.注意支持的最小SDK

  minSdkVersion 19
  targetSdkVersion 25

三.界面布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="cn.bluemobi.dylan.vrdevelop.MainActivity">

    <TextView  android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="AndroidVR开发360度全景图片" />

    <com.google.vr.sdk.widgets.pano.VrPanoramaView  android:id="@+id/vr_pan_view" android:layout_width="match_parent" android:layout_marginTop="20dp" android:layout_height="250dp"></com.google.vr.sdk.widgets.pano.VrPanoramaView>
</LinearLayout>

四.加载360°全景图片


    /** * 加载360度全景图片 */
    private void load360Image() {
        vr_pan_view = (VrPanoramaView) findViewById(R.id.vr_pan_view);
        /**获取assets文件夹下的图片**/
        InputStream open = null;
        try {
            open = getAssets().open("andes.jpg");
        } catch (IOException e) {
            e.printStackTrace();
        }
        Bitmap bitmap = BitmapFactory.decodeStream(open);
        /**设置加载VR图片的相关设置**/
        VrPanoramaView.Options options = new VrPanoramaView.Options();
        options.inputType = VrPanoramaView.Options.TYPE_STEREO_OVER_UNDER;
        /**设置加载VR图片监听**/
        vr_pan_view.setEventListener(new VrPanoramaEventListener() {
            /** * 显示模式改变回调 * 1.默认 * 2.全屏模式 * 3.VR观看模式,即横屏分屏模式 * @param newDisplayMode 模式 */
            @Override
            public void onDisplayModeChanged(int newDisplayMode) {
                super.onDisplayModeChanged(newDisplayMode);
                Log.d(TAG, "onDisplayModeChanged()->newDisplayMode=" + newDisplayMode);
            }

            /** * 加载VR图片失败回调 * @param errorMessage */
            @Override
            public void onLoadError(String errorMessage) {
                super.onLoadError(errorMessage);
                Log.d(TAG, "onLoadError()->errorMessage=" + errorMessage);
            }

            /** * 加载VR图片成功回调 */
            @Override
            public void onLoadSuccess() {
                super.onLoadSuccess();
                Log.d(TAG, "onLoadSuccess->图片加载成功");
            }

            /** * 点击VR图片回调 */
            @Override
            public void onClick() {
                super.onClick();
                Log.d(TAG, "onClick()");
            }
        });
        /**加载VR图片**/
        vr_pan_view.loadImageFromBitmap(bitmap, options);
    }

五.GitHub

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128847.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript下载文件

    javascript下载文件function DownURL(strRemoteURL,strLocalURL){ try {  var xmlHTTP=new ActiveXObject(“Microsoft.XMLHTTP”);  xmlHTTP.open(“Get”,strRemoteURL,false);  xmlHTTP.send();  var adodbStream=new ActiveXObject(“ADO

    2022年5月5日
    40
  • RabbitMQ消息队列常见面试题总结

    RabbitMQ消息队列常见面试题总结

    2021年4月10日
    193
  • Okio基本使用以及源码分析

    Okio基本使用以及源码分析Okio是什么在OkHttp的源码中经常能看到Okio的身影,所以单独拿出来学习一下,作为OkHttp的低层IO库,Okio确实比传统的java输入输出流读写更加方便高效。Okio补充了java.io和java.nio的不足,使访问、存储和处理数据更加容易,它起初只是作为OKHttp的一个组件,现在你可以独立的使用它来解决一些IO问题。先看下okio库中类之间的关系:okio中最关键的是对于缓存队列的管理,这些优化操作使得okio在复制数据的时候可以减少拷贝次数,来看下okio中数据保存的数据结构是

    2022年5月27日
    42
  • Python字典提取_python字典键对应的值

    Python字典提取_python字典键对应的值python字典操作提取key,valuedictionaryName[key]=value1.为字典增加一项2.访问字典中的值3、删除字典中的一项4、遍历字典5、字典遍历的key\value6、字典的标准操作符7、判断一个键是否在字典中8、python中其他的一些字典方法9、将两个字典合并a={‘a’:1,…

    2022年10月20日
    2
  • java的”HelloWorld”代码解释「建议收藏」

    java的”HelloWorld”代码解释「建议收藏」packagetext_1;publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.print(“Helloworld!”); }}从第一行开始packagetext_1;说明工程文件名,开发者准确识别出目前自己所编写的工程文件。publicclassHel…

    2022年5月28日
    34
  • redhat配置yum源服务器_redhat7网络yum源配置

    redhat配置yum源服务器_redhat7网络yum源配置配置yum源redhat默认自带的yum源需要注册才能更新,可以更换成Centos的yum源.文章目录配置yum源前言一、yum源的工作原理?二、yum配置步骤1.查看系统已经安装的yum2.删除自带的yum包3.下载相关的安装包4.安装包5.下载配置文件6.更新前言Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动

    2022年8月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号