5

在 Xcode SceneKit 场景检查器中,Procedural Sky该部分下有一个选项Environment

根据一些教程,启用此选项将赋予 3D 模型更多的真实感。

1)如果您是从代码而不是从场景检查器创建场景,您如何启用该Procedural Sky选项?没有Environment财产。

2)该Procedural Sky选项是否仅在您使用 PBR 材料时才有效?

4

2 回答 2

3

是的,您可以:您要查找的类是MDLSkyCubeTexture

使用它来将其放入场景的背景内容的最基本方法:

class MyGameScene: SCNScene {
    override init() {
        super.init()
        self.background.contents = MDLSkyCubeTexture(name: "sky",
                                          channelEncoding: .float16,
                                        textureDimensions: vector_int2(128, 128),
                                                turbidity: 0,
                                             sunElevation: 1.5,
                                upperAtmosphereScattering: 0.5,
                                             groundAlbedo: 0.5)
        // To let the sky influence the lighting:
        self.lightingEnvironment.contents = self.background.contents
    }
}

您必须自己阅读参数,因为我只是偶然发现了这一点。

我发现了这些感兴趣的链接:

这些来源已有 5 年的历史,所以我确信一些东西同时发生了变化。

关于您问题的第二部分:您可以将其导入您的材料中,但我还不太了解。

于 2020-06-09T17:10:14.633 回答
-1

对于 iOS 12 使用:

configuration.environmentTexturing = .automatic
于 2018-09-06T06:57:09.940 回答