VR 全景图实现

VR(Virtual Reality )是虚拟现实,通过构建三维动态实景,让用户真实的沉浸其中,它可以给人一种身临其境的感觉,以逼真的表现虚拟世界的环境,可以影响到各行各业,给人们带来视觉、感官逼真的体验  那么接下来我就跟跟大家分享一个VR全景图的小Demo实现 感受一下 首先下载SDK  Github https://github.com/babysource/VRDroid.git  导入我们需要的类库 

VR 全景图实现_第1张图片

然后导入 common  commonwidget panowidget

VR 全景图实现_第2张图片

VR 全景图实现_第3张图片

导进来之后关联就不用多说了  然后添加依赖库   

compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7'

然后前期的准备工作基本就算完成了,那么我们开始上代码  首先初始化view

empty
         //初始化View
        vr = (VrPanoramaView)findViewById(R.id.vr);
自定义Async类 继承AsyncTast 
empty
 class Mysynck extends AsyncTask{
        @Override
        protected Bitmap doInBackground(Void... params) {
            try {
                InputStream open = getAssets().open("andes.jpg");
                Bitmap bitmap = BitmapFactory.decodeStream(open);
                return bitmap;

            } catch (IOException e) {
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(Bitmap bitmap) {
            VrPanoramaView.Options options = new VrPanoramaView.Options();
            options.inputType = VrPanoramaView.Options.TYPE_STEREO_OVER_UNDER;
            vr.loadImageFromBitmap(bitmap,options);
            super.onPostExecute(bitmap);
        }
    }
执行异步请求
empty
        //B.使用自定义的AsyncTask,播放VR效果
        mysync = new Mysynck();
        mysync.execute();

empty
        //隐藏掉VR效果左下角的信息按钮显示
        vr.setInfoButtonEnabled(false);
        //隐藏掉VR效果右下角全屏显示按钮
        vr.setFullscreenButtonEnabled(false);
        //切换VR的模式   参数: VrWidgetView.DisplayMode.FULLSCREEN_STEREO设备模式(手机横着放试试)  rWidgetView.DisplayMode.FULLSCREEN_MONO手机模式
        vr.setDisplayMode(VrWidgetView.DisplayMode.FULLSCREEN_STEREO);
empty
    class MyVREvent extends VrPanoramaEventListener{
        @Override
        public void onLoadSuccess() {
            super.onLoadSuccess();
            Toast.makeText(MainActivity.this, "成功", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onLoadError(String errorMessage) {
            super.onLoadError(errorMessage);
            Toast.makeText(MainActivity.this, "失败", Toast.LENGTH_SHORT).show();
        }
    }
然后执行实现类
empty
        
        //执行实现类 
        vr.setEventListener(new MyVREvent());






你可能感兴趣的:(VR 全景图实现)