Android增強現實(一)-AR的三種方式(展示篇)
阿新 • • 發佈:2019-02-06
這段時間研究了一段時間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圖
大家應該在京東和淘寶上見過這種效果吧:
我的實現效果圖:
功能:
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模型
在京東上見到過這樣效果的商品:
我的實現效果圖:
功能:
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官方的實現方式。