在 RealityKit 场景上应用着色器

Apply a Shader on RealityKit Scene

有没有办法将全屏着色器应用于 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 属性

谢谢 :-)

在 RealityKit 1.0 和 2.0 中,您可以应用背景 color/image、基于图像的 HDR lighting/reflections (IBL) 和音频属性。您可以通过 skybox(:_) 类型方法应用环境图像。这是官方文档的link

static func skybox(_ resource: EnvironmentResource) -> ARView.Environment.Background

此方法使用 EnvironmentResource class,其中包含场景的背景和照明信息。您可以在 Medium 上阅读 here and in my story

现在在 RealityKit 2.0 中,您可以应用 vertex/fragment 着色器(通过 CustomMaterial)并将渲染场景作为纹理(就像您在 SceneKit+Metal 中所做的那样)。