【AR工程下载】宝藏Unity AR项目:内容本地化、Mesh、AR UI组件、Shader
【AIRX实验室】专栏会定期为大家推荐一些可移植性强的、可二次开发应用的、可落地实际场景使用的实战工程源码分享给大家。本部分分享的代码主要是使用AR Foundation 3.0开发的一些炫酷的AR应用合集。
效果预览
图片跟踪
演示了如何跟踪多个图像并显示模型。
AR UX组件
一个UI / UX框架,为各种不同类型的移动增强现实应用程序的提供用户指导说明。
该框架采用了带有指导性目标UI的概念。它的一个常见用法是UI指示用户移动他们的设备以使用户找到一个平面。一旦目标达到,UI就会淡出。还有一个辅助指令UI和一个API,允许开发人员添加任意数量的附加UI和目标,这些UI和目标将进入一个队列,一次处理一个。
可能会有各种不同的原因导致会话(设备)没有跟踪或丢失跟踪。向用户展示这些原因会很有帮助,这样他们就能更好地理解用户体验或者是什么阻碍了用户体验。ARKit和ARCore的原因略有不同,但在AR基础上,它们都是通过相同的API出现的。
AR内容本地化
Mesh 网格放置
使用ARKit网格特征在表面上放置物体的例子场景。
shader效果
为AR应用构建的着色器集合
1、ARKit Fog:这种效果使用了最新的深度API,并且只能在支持LiDAR的iOS设备上使用,比如iPad Pro。目前,这只支持内置的渲染管道。Fog场景使用了一个ARKit背景着色器,它将Unity场景的雾合并到用于渲染ARKit设备摄像机到屏幕的着色器中。它很大程度上基于ARKit包中附带的ARKitBackground材质。
2、线框着色器:这种材质使可视化的边缘任何网格统一。这里我们使用它来可视化ARKit从AR网格管理器生成的运行时网格。这个着色器通过结合质心数据(顶点颜色)和自定义着色器图形来确定边缘和绘制像素指定的颜色。
3、阴影:阴影对于增强现实中的放在地面物体非常重要,它可以帮助用户更好地理解现实世界中增强内容的深度和位置。为了在通用渲染管道中启用阴影,定制的.hlsl文件已经被编写并作为自定义节点在着色器图形中使用。这两种着色器都是用来应用在一个单一的平面上,例如一个平面或四边形。模糊阴影有两个自定义节点输入。一个是使用这个着色器创建靠近平面的物体的接触阴影。另一个用于实现动态模糊,以创建更柔和的阴影,给它一个模糊的边缘。建议对动态内容使用这些阴影。
4、Camera Grain:只兼容Unity 2020.2+和ARKit。Camera Grain是ARKit的一个独特的特征,它产生一个可平铺金属纹理,以匹配当前视频流的视觉特征。在Unity中,它通过ARCameraFrameEventArgs以3D纹理的形式出现。对于着色器样例,这个纹理然后被应用到一个自定义着色器图形,也在对象上创建视觉噪音。这种效果通常是非常微妙的,在较暗的区域更明显,在那里相机的纹理也更明显。
源码下载
项目工程代码:
https://github.com/Unity-Technologies/arfoundation-demos
关于更多机器学习、人工智能、增强现实、Unity、Unreal资源和技术干货,可以关注公众号:AIRX社区,共同学习,一起进步!AIRX三次方:超酷的开发者学习服务与交流平台(专注ARVR、Unity、Unreal、CV、AI领域)学ARVR开发,来AIRX三次方!!!