I'm trying to add lighting in my RealityKit AR Scene. And I can't find the Lighting option in Reality Composer. If there's a way to add Directional Light
or edit it then please tell me. I've tried Apple Documentation but can't understand how to add them.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
At the moment you can't do it in Reality Composer. Just use a RealityKit. So, you need to create a custom class that inherits from Entity
class and conforms to HasPointLight
protocol. Run this code in macOS project to find out how a PointLight setup works:
import AppKit
import RealityKit
class Lighting: Entity, HasPointLight {
required init() {
super.init()
self.light = PointLightComponent(color: .red,
intensity: 100000,
attenuationRadius: 20)
}
}
class GameViewController: NSViewController {
@IBOutlet var arView: ARView!
override func awakeFromNib() {
arView.environment.background = .color(.black)
let pointLight = Lighting().light
let boxAnchor = try! Experience.loadBox()
boxAnchor.components.set(pointLight)
arView.scene.anchors.append(boxAnchor)
boxAnchor.steelBox!.scale = [9,9,9]
boxAnchor.steelBox!.position.z = -0.5
}
}
The same way you can add a Directional Light to the scene. But remember: a position of Directional Light does not important, but an orientation does! By default it's oriented to north (-Z).
class Lighting: Entity, HasDirectionalLight {
required init() {
super.init()
self.light = DirectionalLightComponent(color: .red,
intensity: 100000,
isRealWorldProxy: true)
}
}