Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RealityKit – How to edit or add a Lighting?

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.

enter image description here

like image 641
Saad Tahir Avatar asked Sep 03 '25 02:09

Saad Tahir


1 Answers

At the moment you can't do it in Reality Composer, you need to 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
    }
}

enter image description here

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)
    }
}

enter image description here

Also can read my STORY about lights on Medium.

like image 140
Andy Jazz Avatar answered Sep 07 '25 16:09

Andy Jazz