1.在做AR的时候,用时需要与模型交互,来控制模型的移动,本人在分析源码的时候做了点修改,可以按这种方式来实现模型的移动、缩放等,下面用模型的移动为例来说明下模型的平移(只做了上下移,其它移动可以按这种方式来)

2.首先在ImageTargets.java下定义两个成员变量

//这里只用到了Ypublic float distanceX=0;public float distanceY=0;

3.在 ImagetTarget.java下的private class GestureListener extends GestureDetector.SimpleOnGestureListener这个类下重写用户的滑动检测事件,获取相应用位移量。

   @Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY){distanceX = e1.getX()-e2.getX();distanceY = e1.getY()-e2.getY();Log.e("distanceX",distanceX+" , "+distanceY);return true;}

4.在ImageTargetRenderer.java中的for (int tIdx = 0; tIdx < state.getNumTrackableResults(); tIdx++)下找到if (!mActivity.isExtendedTrackingActive())然后修改里面的Matrix.translateM(modelViewMatrix, 0,0,mActivity.distanceY,OBJECT_SCALE_FLOAT);模型变换方式,这里的mActivity.distanceY就是在imageTarget中的用户手指上下滑动的划动量,大家如果按这种方式操作时,不要太用力,怕把模型滑不见了,哈哈。。。。。。

5就不上效果图,大家可以自己测试,本人是直接在官方源码上修改的。按这种方式大家可以做旋转,缩放操作等。


专注于AR的在移动端的实现,如果你还有问题没解决,你可以加入我们一起交流。或是关注我们的技术公众号,这是提供技术干货的地方,你有干货可以向我们推荐。

如果你觉得写的不错,对你有用,请在下面点个 支持一下,有问题可以在下面留言评论。


AR引擎vuforia源码分析、中文注释(2)用手势控制来与模型简单交互相关推荐

  1. 【Overload游戏引擎】源码分析之十三:OvRendering函数库(十一)

    2021SC@SDUSC 目录 1.Driver 1.1构造函数 1.2InitGlew 1.3GLDebugMessageCallback 2.Renderer 2.1Draw 2.2FetchGL ...

  2. UnityStandardAsset工程、源码分析_7_第三人称场景[玩家控制]_人物逻辑

    上一章地址:UnityStandardAsset工程.源码分析_6_第三人称场景[玩家控制]_工程组织 上一章里,我们花了一整章的篇幅用于分析场景的结构和处理流程,并且确定了本章的分析目标:Third ...

  3. 【我的渲染技术进阶之旅】Google开源的基于物理的实时渲染引擎Filament源码分析:Android版本的Filament第一个示例:sample-hello-triangle

    文章目录 一.效果展示 二.之前的博客 三.示例工程sample-hello-triangle源码分析 3.1 项目源码路径 3.2 分析源码 3.2.1 分析AndroidManifest.xml ...

  4. 源码解析2-GUI-绘制引擎(QPainter源码分析 )

    Qt源码解析 索引 Qt图形用户界面 应用程序窗口 Qt GUI 模块中最重要的类是QGuiApplication和QWindow.想要在屏幕上显示内容的 Qt 应用程序需要使用这些.QGuiAppl ...

  5. 【Overload游戏引擎】源码分析之六:OvRendering函数库(四)

    2021SC@SDUSC 目录 1.Uniform 1.1UniformType 1.2UniformInfo 2.Shader 2.1SetUniform和GetUniform 2.2GetUnif ...

  6. 【我的渲染技术进阶之旅】Google开源的基于物理的实时渲染引擎Filament源码分析:在android中如何使用filamesh命令将.obj或者.fbx文件转换为.filamesh文件?

    文章目录 一.需求描述 1.1 为啥要学习`filamesh`命令 1.2 从android项目的build.gradle看起 1.3 查看FilamentToolsPlugin插件源代码 1.3.1 ...

  7. 【我的渲染技术进阶之旅】Google开源的基于物理的实时渲染引擎Filament源码分析:在android中如何使用cmgen命令自动将.hdr文件转换为.ktx文件或者.rgb32文件等?

    文章目录 一.需求描述 1.1 为啥要学习cmgen命令 1.1 bug描述 1.1.1 运行错误描述:java.io.FileNotFoundException: envs/flower_road_ ...

  8. 【Overload游戏引擎】源码分析之五:OvRendering函数库(三)

    2021SC@SDUSC 目录 IMesh.h与Mesh.h 1.CreateBuffers 2.ComputeBoundingSphere 3.其他函数 回顾一下前几篇文章,我们讲到了有关图形学三维 ...

  9. shardingsphere源码分析(四)-- 改写引擎

    shardingsphere源码分析(四)-- 改写引擎 shardingsphere源码分析(四)-- 改写引擎 官方介绍 debug 总结 shardingsphere源码分析(四)-- 改写引擎 ...

  10. Android Instrumentation源码分析(附Activity启动流程)

    转载请注明出处:http://blog.csdn.net/ahence/article/details/54959235 Instrumentation概念 官方说明 Instrumentation类 ...

最新文章

  1. 没有提示_华为手机发出莫名的提示音,打开什么也没有?原来是它们在作怪
  2. easyexcel工具类_阿里巴巴程序员常用的 15 款开发者工具
  3. spark sql读取hive底层_scala – 从一个hive表中读取并使用spark sql写回来
  4. react 引入 mobx @babel/core: 7.2.2
  5. 使用Ext Designer 设计简单计算器
  6. zip unzip命令行_Linux / Unix中的Zip和Unzip命令
  7. Linux下搭建CACTI的时候总结的一些小知识
  8. HTTP协议详解(经典)
  9. 从空运物流到无人机物流,圆通将战火烧到了时效件
  10. ltspice导入spice模型_LTspice 怎么自建 MOSFET 模型
  11. 怎样更改itunes备份位置_iTunes备份路径在哪?iTunes备份路径如何修改
  12. GitHub加速访问、克隆和下载
  13. 原滴滴副总裁叶杰平加盟贝壳找房,任首席科学家,用AI帮你找房
  14. 开源运维自动化平台-opendevops
  15. NMS非极大值抑制的原理
  16. 如何在页面上呈现谷歌地图
  17. 云服务器、VPS、虚拟主机三者之间的区别?
  18. Spring的constructor-arg 与property注入
  19. 【读书笔记】科万特家族的宝马神话-陈曲,德国宝马汽车-3系是宝马的灵魂所在
  20. 欧路词典 for Mac软件增强特色

热门文章

  1. 20款最优秀的JavaScript编辑器
  2. D3D 扎带 小样本
  3. ARM给服务器厂商更多创新机会
  4. 动态添加gridview行【转:http://www.cnblogs.com/oec2003/articles/1069796.html】
  5. jdbcTemplate注入过程
  6. wordpress禁止恶意HTTP_USER_AGENT
  7. 解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:
  8. stm32程序跑飞_mm32芯片使用心得(三)音频播放程序修改
  9. redis zset怎么排序_关于Redis(一)
  10. Python3面向对象:实例(instance)