Android增强现实(一)-AR的三种方式(展示篇)
有一段时间没写博客了,事情比较多,博客进度有点跟不上了
1.Android增强现实(一)-AR的三种方式(展示篇)
2.Android增强现实(二)-支持拖拽控制进度和伸缩的VrGifView
3.Android增强现实(三)-3D模型展示器
这段时间研究了一段时间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.VrGifViewandroid: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;@Overrideprotected 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.STLViewandroid: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() {@Overridepublic void onStart() {}@Overridepublic void onReading(int cur, int total) {}@Overridepublic void onFinish() {}});
3.Google的全景图
官方Demmo地址:https://github.com/googlevr/gvr-android-sdk
这篇博客主要展示一下功能吧,下面应该会分三篇博客,分别介绍前两种实现过程中的难点和技术点,和第三种也就是Google官方展示全景图,从源码角度看一下Google官方的实现方式。
Android增强现实(一)-AR的三种方式(展示篇)相关推荐
- Android获取当前位置的三种方式及其使用方法
1.GPS定位 2.基站定位 此类位置的获取有赖于手机无线通讯信号,当手机处在信号覆盖范围内,手机可以获得该区域(即通讯术语中的"小区")的识别号.因为这些识别号是惟一的,因此可以 ...
- android中多渠道打包的三种方式
转载至:一片枫叶的专栏 国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法在国内打开(翻墙的就不在考虑之内了),所以Android系的应用市场,群雄争霸.后果就是国 ...
- 【android】绘制圆环的三种方式
在android中要绘制圆环,暂时知道有三种方式.分别是: 一.设置画笔的style为stoke,绘制圆 这里是先绘制内圆,然后绘制圆环(圆环的宽度就是paint设置的paint.setStrokeW ...
- Android利用android:indeterminateDrawable来实现ProgressBar三种方式
方式1:(效果为补间动画一样) [html] view plaincopyprint? <ProgressBar android:layout_width="wrap_content& ...
- 【Android】触发按钮的三种方式
方法1 通过id绑定点击监听 实现 findViewById(R.id.home_button).setOnClickListener(new View.OnClickListener() {@Ove ...
- android 播放rtsp流的三种方式
使用VideoView <VideoViewandroid:id="@+id/surface_view"android:layout_width="250dp&qu ...
- convert android layout xml,详解Android之解析XML文件三种方式(DOM,PULL,SAX)
1.xml文件代码 ${fq.content} ${fq.time} 2.XML网页效果图 3.Android代码 1.布局文件 xmlns:tools="http://schemas.an ...
- android获取自定义属性,android 自定义控件中获取属性的三种方式(转)
第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...
- android xml解析的三种方式
2019独角兽企业重金招聘Python工程师标准>>> 在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了 ...
最新文章
- ORA-01113 file 1 needs media recovery
- 如何強迫 .Net 應用程式輸出英文的例外訊息
- php手册常用的函数
- Java项目导出源代码jar包在Eclipse中查看中文注释乱码的问题
- 微软宣布针对Azure Cosmos DB的多个更新
- [转]带花树,Edmonds's matching algorithm,一般图最大匹配
- mininet 应用实践
- oauth2 java 获取token_OAuth2 Token 一定要放在请求头中吗?
- English 900 英语九百句
- 如何编辑修改PDF文件内容?修改方法很简单
- Frida cmd常用命令
- java 时间英文格式_Java英文日期格式解析
- 第四章USB数据流模型
- 抑制背景干扰的行人重识别方法
- Duplicate Finder for Mac 1.4.3 重复文件查找和删除 破解版下载
- BeatSaber节奏光剑插件开发官方教程1-创建一个插件模板
- ue4网格转地形_不用建模就能生成地形,SU怎么办到的?!
- VxWorks和Linux内核实时性
- windows设置显示隐藏文件
- 转:对一名电子信息工程专业应届毕业生的建议
热门文章
- 值得网页设计师前端收藏的实用工具列表
- html5 语音输入小话筒,科技常识:HTML5为输入框添加语音输入功能的实现方法
- 让我们一起祈祷,祝愿祖国平平安安
- JDI Java程序员的高级玩具
- Windows10下删除需TrustedInstaller权限的目录或文件
- Docker管理工具 - Swarm部署记录
- Linux.ext4文件系统.inode和extent
- 360杀毒抢鲜版64位 v5.0.1.5044A 官网免费版
- 水利施工行业工程项目管理
- 联想YOGA Air 14s笔记本怎么快速重装Win7系统教学