RealityKit –如何编辑或添加照明? [英] RealityKit – How to edit or add a Lighting?
问题描述
我正在尝试在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屋!