在Xcode SceneKit场景检查器中,Procedural Sky
部分下有Environment
个选项。
根据一些教程,启用此选项将为3D模型带来更多真实感。
1)如果您是从代码而不是从Scene Inspector创建场景,那么如何启用Procedural Sky
选项?没有Environment
属性。
2)Procedural Sky
选项仅在使用PBR材料时才有效吗?
答案 0 :(得分:1)
是的,您可以:您要寻找的课程是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年的历史了,所以我确定同时有些事情已经改变。
关于您问题的第二部分:您可以将其通过管道传输到您的资料中,但是我还不是很了解。
答案 1 :(得分:-1)
对于iOS 12使用:
configuration.environmentTexturing = .automatic