RealityKit – 如何编辑或添加灯光?

2024-07-01

我正在尝试在 RealityKit AR 场景中添加照明。我在 Reality Composer 中找不到灯光选项。如果有办法添加Directional Light或编辑它然后请告诉我。我尝试过 Apple 文档,但不明白如何添加它们。


目前您无法在 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)
    }
}

也可以阅读我的STORY https://medium.com/@arkit/realitykit-911-lighting-and-shadows-66f99bcd5219关于Medium上的灯光。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RealityKit – 如何编辑或添加灯光? 的相关文章

  • 为什么 Swift 中的结构体不像类那样具有反初始化器?

    我刚刚浏览了反初始化器的 Swift 文档 发现它们只存在于类中 所以我只是想知道为什么 Swift 中的结构没有反初始化器 deinit is for 参考类型 see https stackoverflow com a 27366050
  • DispatchQueue.main.sync 返回 exc_bad_instruction Swift 3

    我想在我的应用程序中显示 UIActivityIndi catorView 但是当我调用sync方法从主线程 应用程序崩溃并出现错误 exc bad instruction code exc i386 invop subcode 0x0 我
  • ++ 已弃用,它将在 swift 3 中删除[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 将在 swift 3 中被弃用 变量 现在可以写成 variable 1 我怎样才能重写 variable 请回忆一下之间的区别 varia
  • WKScriptMessageHandler 不会侦听网页上按钮元素上的“onclick”或“click”事件。网页是使用Reactjs开发的

    我正在使用一个WKWebView在 UIViewController 的视图中使用 url 端点显示托管在服务器上的网页 该网页使用Reactjs 这就是我所掌握的有关该网页的所有信息 该代码创建一个 Web 视图并将该 Web 视图作为控
  • Swift - 获取设备的 WIFI IP 地址

    我需要在 Swift 中获取 iOS 设备的 IP 地址 这不是与此相关的其他问题的重复 我只需要获取 WiFi IP 地址 如果没有 WiFi IP 地址 我需要处理它 Stack Overflow 上有一些关于它的问题 但只有返回 ip
  • 如何快速返回 var

    我很困惑 因为我习惯于通过这样的函数获取 var class ViewController UIViewController var timerVal Int calcolo func calcolo gt Int return 0 但这不
  • Swift 不会将 Objective-C NSError** 转换为 throws

    我有一些 Objective C 遗留代码 声明了类似的方法 void doSomethingWithArgument ArgType argument error NSError error 正如这里所写的https developer
  • UIApplication.delegate 必须仅在主线程中使用[重复]

    这个问题在这里已经有答案了 我的应用程序委托中有以下代码 作为在其他 viewController 中使用 CoreData 的快捷方式 let ad UIApplication shared delegate as AppDelegate
  • Swift:根据日期对获取的核心数据子实体进行排序

    介绍 我正在制作一个日历应用程序 在其中使用核心数据存储事件 其组成为 DateKey作为父级 具有一对多关系 CalendarEventModel 这个概念是DateKey包含 yyyy dd MM 日期字符串 当天发生的所有事件都作为子
  • Firebase 分析在 DebugView 中显示不正确的数据

    我正在使用 Firebase 分析 我注册了两个用户属性 并且有两个自定义事件 每个事件包含 3 到 50 个不同的选项 我遇到的问题是 当我设置用户属性时 DebugView 通常会显示事件的旧用户属性或根本不显示 有时它可以正常工作 请
  • Spotify 会话管理

    我在我的应用程序中有一个 Spotify 登录并尝试进行自动登录 登录功能 func getSpotifyToken fromController controller UIViewController success spotifyTok
  • Xcode 6 具有 Swift 超慢打字和自动完成功能

    是只有我还是 Xcode 6 6 0 1 with Swift 似乎是超级慢当您键入代码时 尤其是使用自动完成功能时 一个普通的 Objective C 类 即使在 Swift 项目中 工作原理也几乎和以前一样 所以是 Swift 杀死了它
  • Swift:解压缩文件

    我正在努力获得String使用本机从 zip 文件内的 txt 文件中获取libcompression图书馆 实际上我使用的代码来自 https github com mw99 DataCompression blob master Sou
  • Cocoa:在 CGEvent 中模拟 Command+Tab

    我想模拟Application Switcher在我的应用程序中 我认为 CGEvent 也许可以做到这一点 好了 了解了CGEvent的一些基本信息后 我就可以模拟按键了Command Tab 但应用程序切换器窗口只是一闪而过 并立即切换
  • 如何刷新 WatchApp 复杂功能

    所以我正在尝试更新headerTextProvider 每一秒都有一个Timer scheduledTimer withTimeInterval 1 repeats true timer in 我想这不是正确的做法吗 MY STUFF HE
  • 如何才能运行性能测试十次以上?

    默认情况下 Xcode 性能测试会运行十次 我的结果是这十次测试的平均值 问题是每次运行时平均结果变化很大 因此我必须运行测试至少五次才能获得收敛结果 这既乏味又耗时 有没有办法配置 XCode 或单元测试本身运行十次以上 XCTestCa
  • iOS Swift:谷歌登录错误

    我正在关注this https developers google com identity sign in ios sign in ver swift before you begin使用 swift 在我的 iOS 应用程序中添加 go
  • Swift:使用成员常量作为函数参数的默认值

    我有一个 swift 类 我试图在其中传递函数参数的默认值 class SuperDuperCoolClass UIViewController declared a constant let primaryColor UIColor UI
  • 使用 WKWebView.pdf 创建 pdf(配置:)

    我想使用新的 macOS 在 macOS 上创建 pdfWKWebView pdf configuration 它是在 macOS 12 iOS 15 中引入的 它尝试利用新的 async await 功能 恐怕我很可能还没有完全掌握 现在
  • 以编程方式 Swift 在 UIView 上添加 UITextField

    我是 Swift 和 iOS 编程新手 我试图创建一个UITextField以编程方式使用 Swift 但无法完全正确 另外 如何将其更改为半透明效果以淡入背景 var myField UITextField UITextField fra

随机推荐