RealityKit - Как редактировать или добавить освещение? - PullRequest
2 голосов
/ 15 января 2020

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

enter image description here

1 Ответ

1 голос
/ 15 января 2020

В настоящее время вы не можете сделать это в реальности 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
    }
}

enter image description here

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

class Lighting: Entity, HasDirectionalLight {

    required init() {
        super.init()

        self.light = DirectionalLightComponent(color: .red,
                                           intensity: 100000,
                                    isRealWorldProxy: true)
    }
}

enter image description here

...