在 Xcode SceneKit 场景检查器中,Procedural Sky
该部分下有一个选项Environment
。
根据一些教程,启用此选项将赋予 3D 模型更多的真实感。
1)如果您是从代码而不是从场景检查器创建场景,您如何启用该Procedural Sky
选项?没有Environment
财产。
2)该Procedural Sky
选项是否仅在您使用 PBR 材料时才有效?
在 Xcode SceneKit 场景检查器中,Procedural Sky
该部分下有一个选项Environment
。
根据一些教程,启用此选项将赋予 3D 模型更多的真实感。
1)如果您是从代码而不是从场景检查器创建场景,您如何启用该Procedural Sky
选项?没有Environment
财产。
2)该Procedural Sky
选项是否仅在您使用 PBR 材料时才有效?
是的,您可以:您要查找的类是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 年的历史,所以我确信一些东西同时发生了变化。
关于您问题的第二部分:您可以将其导入您的材料中,但我还不太了解。
对于 iOS 12 使用:
configuration.environmentTexturing = .automatic