RealityKit –如何编辑或添加照明? [英] RealityKit – How to edit or add a Lighting?

查看:257
本文介绍了RealityKit –如何编辑或添加照明?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在RealityKit AR场景中添加照明.而且我在Reality Composer中找不到照明"选项.如果有添加或编辑Directional Light的方法,请告诉我.我已经尝试过Apple文档,但是不知道如何添加它们.

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.

推荐答案

目前您无法在Reality Composer中完成此操作.只需使用RealityKit.因此,您需要创建一个继承自Entity类并符合HasPointLight协议的自定义类.在macOS项目中运行以下代码,以了解PointLight设置的工作原理:

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

您可以向场景中添加定向光的方法相同.但是请记住:定向光的位置并不重要,但是定向很重要!默认情况下,它的方向是北(-Z).

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

这篇关于RealityKit –如何编辑或添加照明?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆