RealityKit –存储的实体并从URL异步加载场景

问题描述

这是Apple文档:

1。Loading Reality Composer Files Manually Without Generated Code

并且我使用了“从URL异步加载场景”代码:

 func loadRealityComposerSceneAsync (filename: String,fileExtension: String,sceneName: String,completion: @escaping (Swift.Result<(Entity & HasAnchoring)?,Swift.Error>) -> Void) {
     
     guard let realityFileSceneURL = createRealityURL(filename: filename,fileExtension: fileExtension,sceneName: sceneName) else {
         print("Error: Unable to find specified file in application bundle")
         return
     }
     
     let loadRequest = Entity.loadAnchorAsync(contentsOf: realityFileSceneURL)
     
     let cancellable = loadRequest.sink(receiveCompletion: { (loadCompletion) in
         if case let .failure(error) = loadCompletion {
             completion(.failure(error))
         }
     },receiveValue: { (entity) in
         //  entity -> AnchorEntity
         completion(.success(entity))
     })
     cancellable.store(in: &streams)
 }

在viewDidLoad中:

  loadRealityComposerSceneAsync(filename: "TestScene",fileExtension: "reality",sceneName: "space") { result in
            switch result {
            case .success(let anchor):
                print("space is \(anchor)\n")
                // anchor -> (Entity & HasAnchoring)?
                // How to show the TestScene file on the self.arView.scene

                break
             
            case .failure(let error):
                print(error.localizedDescription)
                break
            }
        }

打印空间为:

Optional(▿ '' : AnchorEntity,children: 1
  ⟐ SynchronizationComponent
  ⟐ Transform
  ⟐ AnchoringComponent
  ▿ '' : Entity,children: 3
    ⟐ SynchronizationComponent
    ⟐ Transform
    ▿ 'boxs' : Entity,children: 1
      ⟐ SynchronizationComponent
      ⟐ Transform
      ▿ 'simpBld_root' : ModelEntity
        ⟐ ModelComponent
        ⟐ SynchronizationComponent
        ⟐ Transform
        ⟐ CollisionComponent
    ▿ '8C519DF7-2575-4AEE-A729-57F7CE0EFB41' : Entity,children: 1
      ⟐ SynchronizationComponent
      ⟐ Transform
      ▿ 'simpBld_root' : ModelEntity
        ⟐ ModelComponent
        ⟐ SynchronizationComponent
        ⟐ Transform
    ▿ 'star' : Entity,children: 1
      ⟐ SynchronizationComponent
      ⟐ Transform
      ▿ 'simpBld_root' : ModelEntity
        ⟐ ModelComponent
        ⟐ SynchronizationComponent
        ⟐ Transform
)

所以我的问题是:如何在self.arView.scene上显示我的TestScene.reality文件。 谢谢!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...