AR Engine光照估计能力,让虚拟物体在现实世界更具真实感
AR是一项现实增强技术,即在视觉层面上实现虚拟物体和现实世界的深度融合,打造沉浸式AR交互体验。而想要增强虚拟物体与现实世界的融合效果,光照估计则是关键能力之一。
人们所看到的世界外观,都是由光和物质相互作用而决定的,当光源照射到物体上时,光线通过被吸收、反射和透射等方式,传递给人们物体的颜色、亮度和阴影等信息,成为人们视觉层面上构建物体外观的主要因素。因此,AR应用若要将3D虚拟物体融于现实世界并具备真实感,前提就是要拥有和现实世界一致的光照条件。
特性介绍
光照估计是指在AR应用场景中的光照情况,华为HMS CoreAR Engine光照估计能力提供了真实的光照条件。通过光照估计,可跟踪设备周围的光线信息,计算出摄像头图像的平均光照强度,并将以上估算出的光照信息实时反馈到虚拟物体,为虚拟物体的渲染提供依据,保证虚拟物体和现实世界的光照一致性,从而使虚拟物体的颜色随着当前环境光照的变化而变化,看起来更为逼真。
能力解析
真实环境中,不同材质的物体在不同光照条件下的呈现效果是不同的,为呈现逼近真实的虚拟物体渲染效果,AR Engine的光照估计能力也需同时满足以下光照场景中的真实展示效果。
主光源方向跟踪
在真实光照环境中,当虚拟物体的位置和摄像头视点固定不动时,主光源照射的方向不同,就会使虚拟物体的明暗、阴影和高光效果呈现显著差异。
环境光着色渲染
在真实光照环境中,当虚拟物体的颜色和材质固定不变,而环境光有明暗变化时,虚拟物体也会随着环境光的明暗变化而产生不同的亮度变化。

同样,当环境光的颜色不停变化时,虚拟物体也会通过光照估计能力反射出不同颜色实时变化的光照渲染效果。

环境图纹理映射
在真实的光照环境中,如果虚拟物体的表面呈镜面效果,那么在不同的环境中,就会通过光照估计模拟出镜面成像,将不同环境的纹理映射于虚拟物体表面,从而与真实环境产生更加紧密贴切的联系。

为增强虚拟物体在现实环境中的真实效果,不仅需要保证3D模型的逼真,更要模拟出和真实环境下趋于统一的渲染效果。HMS Core AR Engine光照估计能力为构建沉浸式的AR使用场景,实现以假乱真的视觉效果,将提供精准的光照跟踪和实时的信息反馈,让渲染后的虚拟物体更具可信度,在与现实场景实时交互过程中更具真实感。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
AR Engine光照估计能力,让虚拟物体在现实世界更具真实感的更多相关文章
- 如何用AR Engine环境Mesh能力实现虚实遮挡
在AR应用中,用户最不希望看到不真实的穿模现象发生,如虚拟形象部分身体陷入墙壁之中,或者未碰到墙壁却已无法移动,这种不真实的交互十分影响用户体验.那如何才能让避免虚拟物体的穿模问题呢?使用AR Eng ...
- 用AR Engine手部骨骼跟踪能力实现虚拟手表试戴
AR技术的落地应用,推动着电商领域的不断升级,通过增强现实为用户带来了虚拟与现实结合的AR购物体验.如AR试衣.AR试鞋.AR试妆等功能的出现让用户在手机上就能体验产品的佩戴效果,可以让用户更直观.更 ...
- 如何用AR Engine开发一个虚拟形象表情包?
现如今,人们在网上聊天.发帖时越来越爱用表情包,表情包一方面是一种个性化的表达方式,另一方面更能传达出当下的心理活动,可以说在网络社交中表情包是一个不可或缺的存在.加上近年来元宇宙的兴起,3D虚拟形象 ...
- HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验
AR技术已经被广泛应用于营销.教育.游戏.展览等场景.通过2D图像跟踪技术和3D物体跟踪技术,用户只需使用一台手机进行拍摄,即可实现海报.卡牌等平面物体以及文物.手办等立体物体的AR效果.尽管近年来2 ...
- AR Engine运动跟踪能力,高精度实现沉浸式AR体验
随着电子产品的普遍应用,AR技术也开始广泛普及,在游戏.电商.家装等领域都有涉及.比如,在室内设计时,我们可以通过AR技术在实际场景中进行虚拟软装的搭配,运用华为AR Engine运动跟踪能力在实际应 ...
- 全套 AR 应用设计攻略都在这里!
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/jILRvRTrc/article/details/79823908 通过将虚拟内容与现实世界融合,增 ...
- 如何使用JavaScript开发AR(增强现实)移动应用 (一)
本文封面配图是去年Jerry看的一部电影<异形:契约>的剧照. 所谓AR(Augmented Reality), 即增强现实,是一种将通过计算机渲染出的虚拟图像与真实世界巧妙融合的手段,背 ...
- Google 最新的 Fuchsia OS【科技讯息摘要】
转自:http://www.cnblogs.com/pied/p/5771782.html 就是看到篇报道,有点好奇,就去FQ挖了点东西回来. 我似乎已开始就抓到了重点,没错,就是 LK . LK 是 ...
- 深度解析丨秒懂nova3手机上超酷炫的AR应用及开发
此前在HUAWEI nova3发布会中,相信大家都已经感受到了AR能力带来的惊喜: 现实场景召唤圣斗士,随时随地交流合影: 点击观看视频:https://v.qq.com/x/page/m1344f6 ...
随机推荐
- C++工厂方法模式讲解和代码示例
在C++中使用模式 使用示例: 工厂方法模式在 C++ 代码中得到了广泛使用. 当你需要在代码中提供高层次的灵活性时, 该模式会非常实用. 识别方法: 工厂方法可通过构建方法来识别, 它会创建具体类的 ...
- Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器
Java 监控直播流rtsp协议转rtmp.hls.httpflv协议返回浏览器 目录 需求背景: 一:了解音视频流协议: 二:方案一 rtsp 转rtmp 1.下载nginx + nginx-rtm ...
- gem5 使用记录,对例子中helloobject的理解
gem5中有一个 hello的例子,不是hello world那个,在src/learning-gem5/part2里面,这是虽然是个简单的例子但包含的要素挺多挺全. 整个结构是src下面有一个hel ...
- js工厂模式和构造函数
<!DOCTYPE html><html><head> <title>工厂模式和构造函数</title> <meta charset ...
- day40-网络编程02
Java网络编程02 4.TCP网络通信编程 基本介绍 基于客户端--服务端的网络通信 底层使用的是TCP/IP协议 应用场景举例:客户端发送数据,服务端接收并显示控制台 基于Scoket的TCP编程 ...
- CPU密集型和IO密集型(判断最大核心线程的最大线程数)
CPU密集型和IO密集型(判断最大核心线程的最大线程数) CPU密集型 1.CPU密集型获取电脑CPU的最大核数,几核,最大线程数就是几Runtime.getRuntime().availablePr ...
- Kubeadm搭建高可用(k8s)Kubernetes v1.24.0集群
文章转载自:https://i4t.com/5451.html 背景 Kubernetes 1.24新特性 从kubelet中移除dockershim,自1.20版本被弃用之后,dockershim组 ...
- Elasticsearch 8.X 节点角色划分深入详解
文章转载自: https://mp.weixin.qq.com/s/3486iH3VH7TV6lza-a7adQ 0.问题引出 如果你的 Elasticsearch 集群是 7.9 之前的版本,在配置 ...
- 2_爬豆瓣电影_ajax动态加载
爬豆瓣 什么是 AJAX ? AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX = Asynchronous JavaScript and XML(AJAX = 异步 ...
- Deepin系统navicat15安装
Deepin系统安装navicat15(已验证) 下载Navicat15 通过下面地址下载Navicat15,默认下载到桌面即可 $ https://download.navicat.com.cn/d ...