业界动态
Andoid 仿自如裸眼 3D 效果裸眼3d手机「Andoid 仿自如裸眼 3D 效果」
2025-02-18 01:33

目录

前言

1.自如的思路分析探究

2.具体实现

2.1 实现效果

2.2 具体实现

2.3 使用步骤

3.补充说明

4.最后


        前段时间自如技术团队发布了一篇名为的技术分享文章,简述了通过将图层分为前中后景,监听手机倾斜角度,再根据倾斜角度反向移动前后景,实现类似裸眼 3D 的效果。 该文章中已将思路与原理讲述清楚,抱着好奇心尝试仿现了一下。

1.1 自如 APP 上的裸眼 3D 效果

        UI 层面上:将普通的 2D 图像切割出 背景中景前景 三个部分

1.2 普通 2D 图像
1.3 切割出来的 背景中景前景

    ( “ 切割 ” 这部分操作当然是交给专业的 UI 同事来进行)

        技术层面上:通过 Android 中的 磁场传感器加速度传感器 监听设备的倾斜角度,保持 中景 不动,根据倾斜角度反向移动 背景前景 ,将 2D 图像转化为景深效果,呈现出类似裸眼 3D 的视觉效果。

image.png
1.4 根据倾斜角移动前后景(图片来自自如技术文章

 

思路上就是这么清晰和简单,需求如下

        根据设备倾斜角度 平稳移动 前后景,实现裸眼 3D 效果

        其中前后景在 Y 轴上的移动范围和速度均比 X 轴小和慢

2.1.1 仿现效果

2.2.1 自定义  :

        1.继承于 ImageView ,内部实现 Scroller

        2.提供自定义属性 isBack 区分该 View 用作前景还是后景,前后景移动方向不同,且后景 ImageView 的填充应存在一定的放大倍数

 

        3.提供 handleSensorChangedValues 方法,该方法中根据得到的传感器数据计算倾斜角度,过滤抖动(角度变化过小/过大,并得到需要移动的距离,最后通过 Scroller 辅助移动

 

2.2.2 自定义帮助类  :

        1.构造方法中得到已实现 LifecycleOwner 的 context 对象,通过 Lifecycle 特性在 context 对象的相应生命周期中进行 加速度传感器 磁场传感器 的注册与反注册

 

        2.提供 attachViews 方法,得到外部需要实现裸眼 3D 效果的前景与后景 View ,旧持有前景后景 View 不为空时,记录并重置对应 scroll 值

 

        3.传感器数值变化时调用前后景 View 的 handleSensorChangedValues 方法进行移动

 
 

1.复制 Demo 中的  和 GravityRotationImageView 以及自定义属性  到项目中

2.布局中使用 GravityRotationImageView 作为需要实现 3D 效果的前景与后景 View

 

( ps : 可按需给父 View 设置 android:clipChildren="false" 属性,控制前景移动到边界时是否裁剪 ) 

3.使用帮助类 GravityRotationHelper 绑定前景和后景 View 实现目标效果

 

( ps:关于在 banner 中实现该效果,可参考 demo 中的  类

  • 提取成帮助类而不是在自定义 View 中进行传感器的创建与注册监听,主要是为了减少耦合及资源开销
  • 自定义 ImageView 是为了使用 Scroller 来进行辅助滚动,如果只是在 View 外部通过监听设备倾斜角再通过 View 的 scroll 方法进行移动,会出现抖动及跳动问题
  • 除了使用 磁场传感器加速度传感器 来感知设备倾斜角度变化,还能使用 陀螺仪传感器 来感知设备的倾斜角度变化,同样能实现目标效果
 
 
 

        关于该伪裸眼 3D 效果,自自如团队发布技术文章之后,网上也有一系列 Demo 及技术文章,本人在实现过程中遇到了抖动和跳动问题(主要由于传感器数值变化过于敏感及频繁导致),曾去下载一些 Demo 进行参考,发现同样是存在该问题。其中有篇文章是通过 陀螺仪传感器 来实现该效果的,也做了抖动过滤,但在小米 6 上运行时发现会出现卡顿效果,所以最后还是自己调整优化避免了该现象的出现。

    以上就是本篇文章【Andoid 仿自如裸眼 3D 效果裸眼3d手机「Andoid 仿自如裸眼 3D 效果」】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/34569.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
海外社交媒体上的“西安声音”(7.21-7.31)
讲好西安故事传播城市之美让我们一起来看看近期海外社交媒体上的西安故事China Daily(中国日报网)发布报道《Maritime rescue a
福建文旅生活指南
来福建,把夏天泡进薄荷色的海风里吧~踩过发烫的沙滩跳进26℃浪花让晚风偷走你帽檐的暑气古树浓荫捧着冰镇蝉鸣渔港灯火摇碎成海面
AI眼镜:重塑人机交互与场景感知边界
导读THECAPITAL以AI智能眼镜为代表的新一代智能终端凭借环境智能感知、多模态交互融合、实时信息增强与隐私安全计算等核心能力,
不主动、不抗拒、低互动:“校园人机”正在悄悄蔓延
当前,一种名为“校园人机”的社交模式在青少年群体中悄然兴起——他们沉默寡言,面对他人既不主动靠近也不抗拒接触,与周围人仅
香港高院披露信托存在,宗庆后最信任的还是宗馥莉
导读THECAPITAL宗馥莉方面认为,只有固定资本的利息才是信托资产,而非资本本身。原告似乎错误地认为资本也应属于信托资产的一部
票房38亿! F1大电影启发体育转播改革?
体育转播不断“偷师”影视语言。《共同体》是中国之声决胜时刻联合体育大生意推出的体育商业主题对话节目,以“求同存异,聊聊大
从野人山走来的女兵,丈夫失联后苦等六十年
大家好,我是刘霞。2009年11月5日,我遇见了第一位抗战女兵,陈庆珍奶奶。在遇见陈奶奶之前,我先遇见了另外一位远征军老兵陈宝
卫星互联网板块爆发!航天智装20CM涨停,行业独角兽批量冲刺IPO板块闻风起舞
卫星互联网板块盘初表现活跃,截至发稿,20CM涨停,、、涨超5%。消息面上,我国卫星互联网发展捷报频传。8月4日18时21分,我国在
站前街道电务社区开展暑期普法与安全教育活动
近日,阜新市海州区站前街道电务社区党委联合西阜新派出所邀请社区志愿者、辖区居民以及青少年开展暑期普法与安全教育活动。活动
吴艳妮:13秒15夺冠不值得庆祝 如果刘景扬不打栏她是冠军 强度太差了
北京时间8月4日晚,全国田径锦标赛女子100米栏决赛,四川队的以13秒15夺冠(卫冕成功),陈银凤亚军、季军。这场比赛出现了非常