RealityKit – 从 Web URL 资源加载 ModelEntity

2024-02-08

我想知道是否有人知道是否可以加载 AR 对象(例如,从 Web url 加载 .usdz 并将其放置在 AR 视图中)。我尝试过这个:

let fileUrl = NSURL(string: "https://developer.apple.com/augmented-reality/quick-look/models/drummertoy/toy_drummer.usdz")
cancellable = Entity.loadModelAsync(contentsOf: fileUrl! as URL)
                .sink(receiveCompletion: { completion in
                    self.cancellable?.cancel()
                }, receiveValue: { [self] (model: Entity) in
                    if let model = model as? ModelEntity {
                        let anchorEntity = AnchorEntity(anchor: anchor)
                        anchorEntity.addChild(model)

                        arView.scene.addAnchor(anchorEntity)
                        loadingView.isHidden = true
                    }
                })

但它不起作用并抛出错误Failed to open scene 'https://developer.apple.com/augmented-reality/quick-look/models/drummertoy/toy_drummer.usdz'.

如果可能的话你会吗?


尝试这个:

import UIKit
import RealityKit

class ViewController: UIViewController {
    
    @IBOutlet var arView: ARView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        arView.environment.background = .color(.black)

        let url = URL(string: "https://developer.apple.com/augmented-reality/quick-look/models/drummertoy/toy_drummer.usdz")
        let documents = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
        let destination = documents.appendingPathComponent(url!.lastPathComponent)
        let session = URLSession(configuration: .default,
                                      delegate: nil,
                                 delegateQueue: nil)
        
        var request = URLRequest(url: url!)
        request.httpMethod = "GET"
        
        let downloadTask = session.downloadTask(with: request, completionHandler: { (location: URL?,
                                  response: URLResponse?,
                                     error: Error?) -> Void in
            
            let fileManager = FileManager.default
                
            if fileManager.fileExists(atPath: destination.path) {
                try! fileManager.removeItem(atPath: destination.path)
            }
            try! fileManager.moveItem(atPath: location!.path,
                                      toPath: destination.path)
                
            DispatchQueue.main.async {
                do {
                    let model = try Entity.load(contentsOf: destination)
                    let anchor = AnchorEntity(world: [0,-0.2,0])
                        anchor.addChild(model)
                    anchor.scale = [5,5,5]                        
                    self.arView.scene.addAnchor(anchor)
                    
                    model.playAnimation(model.availableAnimations.first!.repeat())
                } catch {
                    print("Fail loading entity.")
                }
            }
        })
        downloadTask.resume()
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RealityKit – 从 Web URL 资源加载 ModelEntity 的相关文章

  • 在 Firebase 和 Swift 3 中注册之前如何验证用户名是否存在?

    我整合了五个视图控制器的注册流程 而不是一个用于 Firebase 注册的中央 VC 通常情况下 在注册之前会出现数据丢失的问题 但我会以编程方式将所有输入的值通过 segue 推送到最终确认页面 并将数据发送到 Firebase 最终进行
  • 为什么我的自定义类没有出现在 Interface Builder 的下拉列表中?

    我正在使用 Interface Builder 和 Storyboards 来构建我的应用程序 我正在尝试将我的源代码连接到我的UIViewController在 Storyboard 中 但我的类都没有显示在 自定义类 下拉菜单中 这种情
  • 在 Swift 中将半精度浮点数(字节)转换为浮点数

    我希望能够从二进制文件中读取半浮点数并将它们转换为 Swift 中的浮点数 我查看了来自其他语言 例如 Java 和 C 的几种转换 但是我无法获得与半浮点相对应的正确值 如果有人可以帮助我实施 我将不胜感激 从 Float 到 Half
  • 在 WidgetKit 中每分钟更新时间文本标签

    是否可以在小部件中创建显示当前时间并实时更新的文本标签 尝试创建时钟小部件 但小部件每 5 分钟仅更新 1 次 创建时间表没有帮助 使小部件保持最新 不适用于当前时间 仅适用于计时器等 一个可能的解决方案是使用time日期样式 A styl
  • iOS 9 中可滑动的表格视图单元格

    我希望我的表格列表具有像 iOS 8 中那样的可滑动菜单 首次在 iOS 7 中引入 我找到了清晰的 Ray Wenderlich 指南 http www raywenderlich com 62435 make swipeable tab
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • Swift 1.2 可选外部变量?

    由于 Swift 无法访问编译变量 因此我创建了一个指向编译变量的 Objective C extern 变量 编译变量转换器 h extern NSString const NetworkApiBasicAuthUsername 编译变量
  • 如何将 SCNPlane 颜色更改为透明颜色

    我正在开发一个 ARKit 项目 在水平面上点击时需要波纹动画效果 为此 我采用了 UIView 对象并将其作为 SCNPlane 对象材料的内容传递 我已将波纹动画添加到 UIView 对象 一切正常 但我无法将 SCNPlane 颜色更
  • UIImageWriteToSavedPhotosAlbum 选择器语法问题

    努力让 UIImageWriteToSavedPhotosAlbum 快速工作https developer apple com library ios documentation UIKit Reference UIKitFunction
  • UNTimeIntervalNotificationTrigger nextTriggerDate() 是否给出了错误的日期?

    我正在更新本地通知以与 iOS 10 配合使用 但遇到了一个问题 我认为 nextTrigger 函数返回的不是 满足触发条件的下一个日期 而是返回当前日期时间加上您最初设置 UNTimeInvervalNotificationTrigge
  • 在 Swift 中将时间数组从 24 小时转换为 12 小时

    我有一个像这样的数组 arrayTimes 16 00 16 30 17 00 17 30 18 00 18 30 我想将数组从 24 小时转换为 12 小时 这是我到目前为止所拥有的 它转换数组中的第一个数字 我遗漏了一些东西 但我无法解
  • 在 Swift 中使用 CIColorMatrix 过滤器

    以下 Swift 函数应该使用指定的 tintColor 对灰度图像 greyImage 进行着色 import UIKit func colorizeImage greyImage UIImage tintColor UIColor gt
  • 在 iOS 上使用 MDCBottomNavigationBar 切换视图控制器

    我正在尝试创建一个使用 Material Design 库的底部导航功能的 iOS 应用程序 我可以获得带有底部导航栏的视图控制器来编译和显示 但我无法添加其他视图控制器并在单击不同选项卡时在它们之间切换 我将所有内容简化为两个文件 一个是
  • 如何找到安全区域的高度和宽度?

    我正在尝试以编程方式为某些标签 按钮和文本字段设置相对于安全区域的高度和宽度的约束 例如 我希望将标签到安全区域顶部的距离设置为安全区域高度的 10 如何检索安全区域的高度和宽度 这是一个合理的方法吗 我的想法是 无论 iOS 设备如何 我
  • 以编程方式在网站上输入字符串

    我想知道如何或是否可以通过 iPhone 应用程序代码在网站的文本字段中输入内容 所以我想去一个网站 中间有一个文本字段 我想在那里输入一个特定的字符串 我怎样才能在 Swift 中做到这一点 或 Objective C 然后我会弄清楚它在
  • 如何设置 AWS Appsync 请求超时限制 || AWSAppSync 客户端不提供回调

    我正在使用 AWS Appsync 来开发当前的应用程序 并面临一个严重的问题 即每当我在 Appsync 客户端中触发查询时 当互联网连接速度较慢时 请求永远不会以回调结束 我在互联网上查了一下 关于这个主题的信息来源有限 而且发现这个问
  • 如何取消 Alamofire.upload

    我正在通过以下方式将图像上传到服务器上Alamofire upload作为多部分数据 不像Alamofire request它没有回来Request对象 我通常用它来取消请求 但是能够取消上传这样的消耗性请求是非常合理的 阿拉莫菲尔有哪些选
  • 如何实现pickerView类的didSelectRow方法?

    我以前从未使用过选择器视图 我认为它类似于表视图类的 func tableView tableView UITableView didDeselectRowAtIndexPath indexPath NSIndexPath 方法 但是我无法
  • CIImage内存未释放

    我正在尝试拍摄一系列图像 混合当时的 X 图像并生成新图像 这是我必须完成此任务的代码 static func blendImages blendFrames Int blendMode CIImage BlendMode imagePat
  • 立即调用 Swift UIView animateWithDuration 完成闭包

    我期望在指定的持续时间后调用此 UIView 动画的完成闭包 但它似乎立即触发 UIView animateWithDuration Double 0 2 animations self frame CGRectMake 0 self bo

随机推荐

  • primefaces:对话框不显示

    我的问题是p dialog没有显示 监听器被解雇 没有错误消息 我的要求是 当我选择一行时 该行的详细信息必须显示在对话框中 请帮助我 提前致谢
  • 在 Pandas 中将两个 MultiIndex 级别合并为一个

    我有一个多索引的 Pandas 数据框 第二级包含年份 2014 2015 第三级包含月份编号 1 2 12 我想将这两个合并为一个级别 例如 1 2014 2 2014 6 2015 这怎么可能做到呢 我是熊猫新手 搜索了很多但找不到任何
  • X 天内从 http 页面调用时,FB.api 方法将停止工作。请更新您的网站以使用 https 进行 Facebook 登录

    我正在本地主机中开发一个应用程序 突然收到此错误 X 天内从 http 页面调用时 FB api 方法将停止工作 请更新您的网站以使用 https 进行 Facebook 登录 时间用完后我还能在本地主机上开发吗 根据 Facebook 公
  • 将 MeiYan 哈希函数移植到 Go

    我想将最先进的哈希函数 MeiYan 从 C 移植到 Go 据我所知 就速度和冲突率而言 这即使不是哈希表的最佳哈希函数 也是最好的哈希函数之一 它至少击败了 MurMur 我是 Go 新手 刚花了一个周末 想出了这个版本 func mei
  • Solidity:ParserError:预期的编译指示、导入指令或合约/接口/库定义

    当我编写简单合约时 我也遇到了最新的 solc 0 5 2 版本 和 0 4 25 的错误 我尝试过以下步骤 已卸载的 Solc npm uninstall solc 安装的目标版本 npm install save 电子邮件受保护 cdn
  • 使用 dapper,为什么在一次使用连接中创建的临时表在第二次使用同一连接时不可用

    我正在尝试使用 C 中的 dapper 执行一系列 SQL Server 步骤 第一步创建一个临时表并填充它 以下步骤从临时表中查询数据 创建 填充似乎运行成功 但临时表中的第一个查询失败 并显示 对象名称 GetPageOfGlobalU
  • 验证隐藏字段

    我正在使用 MVC3 进行不引人注目的验证 我有一个字段 用户需要填写一些数据 然后按 搜索 按钮 如果从未按下搜索或用户在按下搜索后更改了输入字段 则不应提交表单 我添加了一个隐藏字段 设置为true by the click 按钮的事件
  • 在 shell 脚本中获取 2 个数组中的公共值[重复]

    这个问题在这里已经有答案了 我有一个 array1 20 30 40 50 array2 10 20 30 80 100 110 40 我必须从数组 3 中的这两个数组中获取共同值 如下所示 array3 20 30 40 按升序排列 Sh
  • Facebook PHP SDK Graph API 发布到页面无法正常运行

    我正在尝试向我的应用程序添加一项功能 该功能会将状态发布到管理员用户的页面时间线 其详细信息与他们在 Facebook com 上发布的内容相同 我关注的主要功能是链接共享和缩略图 例如当您将链接粘贴到状态中时 它会自动检测缩略图 为您提供
  • HttpServletRequest 和 getHeader():如何正确处理不区分大小写的标头?

    由于我发现根据 RFC HTTP 标头不区分大小写 因此我想知道如何使用 Servlet 以不区分大小写的方式访问 HTTP 标头 有一个 getHeader String 方法来获取标头 但事实证明该方法对标头字段区分大小写 是否有一种
  • 获取UIScrollView的当前位置

    我来自 Android 但在 IOS 上我感到很头疼 我需要制作一个像电影片尾字幕一样的滚动菜单 我使用了下面的代码 rol scroll view contentOffset y timer NSTimer scheduledTimerW
  • 在 Web 浏览器控件中捕获 Javascript 警报

    使用网络浏览器控件浏览站点 有时会出现涉及 javascript 弹出框的错误 当这种情况发生时 我想做一些事情 了解 JavaScript 警报何时弹出 我使用 LostFocus 事件取得了一些成功 但每当它失去焦点时 代码都会运行 这
  • Swift 将多个类分配给 UI 元素

    是否可以将多个自定义类分配给 Swift 中的同一个 UI 元素 我有一个 UITextField 我需要使用 Spring 动画库 对其进行动画处理 并且我还需要在同一个 UITextField 上使用一些其他库来提供一些其他功能 我通常
  • 用于(合法)欺骗 SMS 消息的 SMS 网关

    我正在寻找一个 SMS 网关来通过 HTTP 接口发送短信 但有些短信网关不允许设置发件人ID 允许设置的短信网关要么要求用户证明发件人ID是自己的手机号码 要么手动检查每个发件人ID 以防止出现问题 短信欺骗 http en wikipe
  • 是否可以在Unity的HDRP中创建DepthMask效果?

    我已经为此努力了一段时间 但我不知道是否有可能创建一个深度掩模着色器HDRP 如此处所述 http wiki unity3d com index php DepthMask 对于我的确切用途 我试图在应用了材质的任何形状上创建一个 洞 以显
  • 无法在 Flutter 上找到捆绑的 Java 版本

    I have Android Studio version 3 0 当我使用命令时flutter doctor它向我显示以下内容 无法找到捆绑的 Java 版本 我当前的Java版本是 build 1 8 0 131 b11 在 Windo
  • 设置/更改更改 Android 中的 WebView 用户代理

    我有一个网站 应该只在我的应用程序中使用 WebView 否则我的网站会将用户重定向到可以下载我的应用程序的页面 那么 如何在WebView中更改这个UA呢 另外 由此可能出现哪些问题 您可以使用setUserAgent https dev
  • Makefile 无缘无故删除目标文件

    这是 Makefile 代码 CC gcc CXX g OBJS OMXComponent o Event o hello jpeg o JPEG o OMXCore o Locker o Logger o BIN hello jpeg b
  • HTML Canvas 渐变仅显示一种颜色

    我遇到问题画布渐变它只显示我设置的最后一个颜色gradient addColorStop offset color method 例如 这是我的一段代码 以便更好地理解 let canvas document getElementById
  • RealityKit – 从 Web URL 资源加载 ModelEntity

    我想知道是否有人知道是否可以加载 AR 对象 例如 从 Web url 加载 usdz 并将其放置在 AR 视图中 我尝试过这个 let fileUrl NSURL string https developer apple com augm