如何在 ARKit 中制作自然光?

How to make natural lighting in ARKit?

我希望我的 ARKit 项目中添加的项目的光照与真实世界的对象相似。请解释如何实现这一目标?谢谢

您可以通过选择 lightingModel 参数之一将光照添加到 SCNMaterial,例如:

要将其中之一添加到 SCNMaterial,您只需执行以下操作:

material.lightingModel = .constant 

您还可以通过使用以下 SCNView 变量使对象看起来更逼真:

var autoenablesDefaultLighting: Bool { get set }

autoEnablesDefaultLighting 只是一个 Boolean 值,用于确定 SceneKit 是否自动向场景添加灯光。

默认设置为 false,意思是:

the only light sources SceneKit uses for rendering a scene are those contained in the scene graph.

如果另一方面,这被设置为真:

SceneKit automatically adds and places an omnidirectional light source when rendering scenes that contain no lights or only contain ambient lights.

因此,要将此设置应用于 SCNView,您需要做的就是使用以下命令:

augmentedRealityScene.autoenablesDefaultLighting = true

除了这些建议之外,您还可以创建不同类型的灯光以添加到您的场景中,例如:

func createDirectionalLight(){

        let spotLight = SCNNode()
        spotLight.light = SCNLight()
        spotLight.scale = SCNVector3(1,1,1)
        spotLight.light?.intensity = 1000
        spotLight.castsShadow = true
        spotLight.position = SCNVector3Zero
        spotLight.light?.type = SCNLight.LightType.directional
        spotLight.light?.color = UIColor.white
}

希望这对您有所帮助...