RealityKit - Как отредактировать или добавить освещение?

Я пытаюсь добавить освещение в свою сцену дополненной реальности RealityKit. И я не могу найти опцию "Освещение" в Reality Composer. Если есть способ добавитьDirectional Lightили отредактируйте тогда, пожалуйста, скажите мне. Я пробовал документацию Apple, но не могу понять, как их добавить.

1 ответ

Решение

В настоящий момент вы не можете сделать это в Reality Composer, вам нужно использовать RealityKit. Итак, вам нужно создать собственный класс, который наследуется отEntity класс и соответствует HasPointLightпротокол. Запустите этот код в проекте macOS, чтобы узнать, как работает установка PointLight:

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

Таким же образом вы можете добавить в сцену направленный свет. Но помните: положение направленного света не важно, а ориентация важна! По умолчанию он ориентирован на север (-Z).

class Lighting: Entity, HasDirectionalLight {
    
    required init() {
        super.init()
        
        self.light = DirectionalLightComponent(color: .red,
                                           intensity: 100000,
                                    isRealWorldProxy: true)
    }
}

Также можете прочитать мою ИСТОРИЮ про фары на Medium.

Другие вопросы по тегам