您可以通过选择其中一个lightingModel
参数为SCNMaterial添加照明,例如:
要将其中一个添加到SCNMaterial,您只需执行以下操作:
material.lightingModel = .constant
Run Code Online (Sandbox Code Playgroud)
您还可以通过使用SCNView的以下变量使对象看起来更逼真:
var autoenablesDefaultLighting: Bool { get set }
Run Code Online (Sandbox Code Playgroud)
autoEnablesDefaultLighting
只是一个Boolean
值,用于确定SceneKit是否自动将灯光添加到场景中.
默认情况下,此值设置为false表示:
SceneKit用于渲染场景的唯一光源是场景图中包含的光源.
另一方面,如果设置为true:
当渲染不包含灯光或仅包含环境光的场景时,SceneKit会自动添加和放置全向光源.
SCNView
因此,要将此设置应用于此,您需要做的就是使用以下内容:
augmentedRealityScene.autoenablesDefaultLighting = true
Run Code Online (Sandbox Code Playgroud)
除了这些建议,您还可以创建不同类型的灯光以添加到场景中,例如:
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
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
归档时间: |
|
查看次数: |
1843 次 |
最近记录: |