有一段時間沒寫博客了孩革,事情比較多祭务,博客進度有點跟不上了
1.Android增強現(xiàn)實(一)-AR的三種方式(展示篇)
2.Android增強現(xiàn)實(二)-支持拖拽控制進度和伸縮的VrGifView
3.Android增強現(xiàn)實(三)-3D模型展示器
這段時間研究了一段時間Android端增強現(xiàn)實的方式,總體分為兩個大類:全景圖和3D模型务嫡。
于是基于這兩種形式剪况,以三種方式來展示增強現(xiàn)實:
1.全景360°GIF,支持拖動述召,縮放朱转。
2.展示3D模型
3.Google官方展示全景圖探究
這篇博客就主要以展示為主吧,放上具體的效果Demo和使用方式积暖,后面會有具體博客用于分析實現(xiàn)方式和技術難點的藤为。
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.3'
}
1.全景360°GIF圖
大家應該在京東和淘寶上見過這種效果吧:
我的實現(xiàn)效果圖:
功能:
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模型
在京東上見到過這樣效果的商品:
我的實現(xiàn)效果圖:
功能:
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的全景圖
官方Demmo地址:https://github.com/googlevr/gvr-android-sdk
這篇博客主要展示一下功能吧呀酸,下面應該會分三篇博客凉蜂,分別介紹前兩種實現(xiàn)過程中的難點和技術點,和第三種也就是Google官方展示全景圖性誉,從源碼角度看一下Google官方的實現(xiàn)方式窿吩。