有没有办法将全屏着色器应用于 RealityKit 场景 (Swift/iOS)?
我知道我可以使用 SceneKit/ARSCNView 中的 SCNTechnique 来做到这一点,但我正在处理 ARView。
- 在 RealityKit 中是否有一种方法可以应用顶点/片段着色器?
- 或者以纹理的形式获取渲染场景的方法?
使用 ARSCNView,我可以应用着色器来运行场景的输出,就像:https://medium.com/ar-tips-and-tricks/arkit-theory-an-introduction-to-scntechniques-710e024bc91e
但是使用 RealityKit,我正在处理一个没有 SCNTechnique 属性的 ARView
谢谢:-)
最佳答案
iOS RealityKit
在 iOS 版 RealityKit 中,您不仅可以应用背景环境图像
,还可以应用基于图像的照明
(IBL) 的 HDR 图像。用于应用环境图像使用 skybox(:_)类型方法。
func skybox(_ resource: EnvironmentResource) -> ARView.Environment.Background
此静态方法使用包含场景背景数据的 EnvironmentResource
对象。您可以阅读here在我的story中在媒体上。
此外,在 iOS 版 RealityKit 中,您可以应用顶点/片段着色器(通过 CustomMaterial )并将渲染的场景作为纹理获取(就像您在 SceneKit+Metal 中所做的那样)。
要了解如何禁用 ARView 中的默认环境照明,请阅读 this post .
visionOS RealityKit
使用RealityRenderer
对象来访问环境图像和IBL的自定义:
RealityRenderer().lighting.resource = try! .load(named: "env")
This post ,向您展示如何在visionOS应用程序中启用自定义环境照明。
关于swift - 在 RealityKit 场景上应用着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61375107/