在RealityKit中为脸上添加阴影

问题描述

任务是在用户的脸上显示眼镜阴影。现在,眼镜下面没有阴影。 AnchorEntity(.face)被用作眼镜的主要锚点!

现在如何工作:

enter image description here

应如何工作:

enter image description here

解决方法

玻璃的有限光线追踪选项

在RealityKit 2.0中,透明和半透明对象(例如眼镜,花瓶或窗户)的raytracing选项非常有限。没有任何属性可以控制光线追踪的工作方式。请记住,例如,RealityKit的渲染器与Autodesk Maya中的Arnold不同。因此,在RealityKit中,眼镜后面没有健壮的半透明阴影。只有框架会投射不透明的阴影,但是这些阴影微不足道,几乎无法察觉。

解决方案I

这是针对这种情况的第一个解决方案-您需要在规范的面部网格的纹理上使用baked shadows假阴影)。但是,当然,使用这种方法,您无法在实际用户的眼睛上“投射”阴影以获得强大的阴影体验

解决方案II

要在AR应用程序中为真实用户的眼睛和眼睛周围的区域着色,您需要创建两个Alpha通道蒙版,以对眼睛及其周围的区域施加较低的强度。要更改背景视频某些区域的强度,您需要使用CoreImage框架中可用的合成方法(CI filters)。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...