有没有办法将全屏着色器应用于 RealityKit 场景(Swift/iOS)?
我知道我可以使用 SceneKit/ARSCNView 中的 SCNTechnique 来做到这一点,但我正在处理 ARView。
使用 ARSCNView,我可以应用着色器来运行场景的输出,就像: https://medium.com/ar-tips-and-tricks/arkit-theory-an-introduction-to-scntechniques- 710e024bc91e
但是使用 RealityKit,我正在处理一个没有 SCNTechnique 属性的 ARView
谢谢:-)
在 iOS 版 RealityKit 中,您可以应用背景
color
/image
、HDR image based lighting
(IBL)。您可以通过 skybox(:_) 类型方法应用环境图像。
func skybox(_ resource: EnvironmentResource) -> ARView.Environment.Background
此静态方法使用
EnvironmentResource
类,其中包含场景的背景和照明数据。您可以在这里以及我在Medium上的故事中阅读相关内容。
此外,在 iOS 版 RealityKit 中,您可以应用顶点/片段着色器(通过 CustomMaterial)并获取渲染场景作为纹理(就像您在 SceneKit+Metal 中所做的那样)。
阅读这篇文章,向您展示如何在visionOS应用程序中启用环境照明。
现在有一个完整的后期处理流程,包括 CIFilters、SpriteKit 或 Metal Performance 着色器。请参阅此演讲:https://developer.apple.com/videos/play/wwdc2021/10075/