1. 程式人生 > >Android增強現實(一)-AR的三種方式(展示篇)

Android增強現實(一)-AR的三種方式(展示篇)

這段時間研究了一段時間Android端增強現實的方式,總體分為兩個大類:全景圖和3D模型。
於是基於這兩種形式,以三種方式來展示增強現實:
1.全景360°GIF,支援拖動,縮放。
2.展示3D模型
3.Google官方展示全景圖探究

這篇部落格就主要以展示為主吧,放上具體的效果Demo和使用方式,後面會有具體部落格用於分析實現方式和技術難點的。

github地址:VRShow
求個star,給點鼓勵~

使用方式:
1.Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency

dependencies {
       compile 'com.github.sdfdzx:VRShow:v1.0.2'
}

1.全景360°GIF圖

大家應該在京東和淘寶上見過這種效果吧:
京東

我的實現效果圖:
VrGifView

功能:

1.支援單指拖拽
2.支援雙指縮放
3.支援觸控響應速度模式:LOW,NORMAL,FAST

使用方式:
XML and Java

<com.study.xuan.gifshow.widget.VrGifView
        android:id="@+id/gif"
android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/demo" /> public class GifActivity extends AppCompatActivity { private VrGifView mGif; @Override protected void onCreate(Bundle savedInstanceState) { super
.onCreate(savedInstanceState); setContentView(R.layout.activity_gif); mGif = (VrGifView) findViewById(R.id.gif); mGif.setTouch(true);//是否 可觸控 mGif.setDrag(true);//是否可拖拽 mGif.setScale(false);//是否可伸縮 mGif.setMoveMode(VrGifView.MODE_FAST);//觸控響應速度 } }

2.展示3D模型

在京東上見到過這樣效果的商品:
京東3D
我的實現效果圖:

3D模型

功能:

1.非同步讀取STL格式的3D檔案
2.支援進度回撥
3.支援單指拖動
4.支援雙指縮放
5.支援陀螺儀感測器

使用方式:
XML and Java

<com.study.xuan.stlshow.widget.STLView
        android:id="@+id/stl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>


        STLViewBuilder.init(mStl).Assets(this, "bai.stl").build();
        mStl.setTouch(true);
        mStl.setScale(true);
        mStl.setRotate(true);
        mStl.setSensor(true);
        mStl.setOnReadCallBack(new OnReadCallBack() {
            @Override
            public void onStart() {}
            @Override
            public void onReading(int cur, int total) {}
            @Override
            public void onFinish() {}
        });

3.Google的全景圖

這篇部落格主要展示一下功能吧,下面應該會分三篇部落格,分別介紹前兩種實現過程中的難點和技術點,和第三種也就是Google官方展示全景圖,從原始碼角度看一下Google官方的實現方式。