如何访问 RealityKit 中 Reality Composer 的模型组件?

2023-12-21

我试图在我的代码中更改在 Reality Composer 中创建的文本实体的模型组件,但这就是!将 GUI 创建的实体转换为对具有模型组件的实体的引用失败。

self.entityReference = scene.realityComposerEntity as! HasModel
textEntity.model!.mesh =  MeshResource.generateText("New Text")

RealityKit 中的文本实体应该有一个模型属性,因为它在 ARView 中具有视觉外观,但我不知道如何访问它。有人知道怎么做吗?

是否有其他简单的方法可以使用在同一位置动态显示不同的文本RealityKit/Reality Composer?


访问 Reality ComposerModelComponent在 RealityKit 中尝试以下方法:

import RealityKit

class ViewController: UIViewController {
    
    @IBOutlet var arView: ARView!
    
    override func viewDidLoad() {
        super.viewDidLoad()            
        arView.environment.background = .color(.darkGray)
        
        let textAnchor = try! SomeText.loadTextScene()     // SomeText is enum          
        let textEntity: Entity = textAnchor.realityComp!.children[0]
        textEntity.scale = [5,5,5]
        
        var textModelComp: ModelComponent = textEntity.children[0].components[ModelComponent]!
                
        var material = SimpleMaterial()
        material.baseColor = .color(.systemTeal)
        textModelComp.materials[0] = material

        textAnchor.realityComp!.children[0].children[0].components.set(textModelComp)
        arView.scene.anchors.append(textAnchor)
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 RealityKit 中 Reality Composer 的模型组件? 的相关文章

  • 修改作为参数传递给 Swift 函数的数组

    抱歉 新手问题 我还在学习 我遇到了一些奇怪的行为 并且找不到任何有关此的文档 我想知道你是否可以帮助指出我在这里做错了什么 Error 无法对不可变值使用变异成员 arr 是 let 常量 class mySingleton static
  • Xcode 一直显示:-1: SWIFT_VERSION '5.0' 不受支持,支持的版本是:3.0、4.0、4.2。有什么解决方案吗?

    当我将 facebook SDK pod 安装到我的 ios 项目中时 它显示 1 SWIFT VERSION 5 0 不受支持 支持的版本为 3 0 4 0 4 2 在目标 FacebookCore 中 我用的是迅捷4 2 有什么解决办法
  • 迭代弱引用数组,其中对象符合 Swift 中的协议

    我想将对象存储在数组中 其中对象很弱 并且符合协议 但是当我尝试循环它时 我收到编译器错误 public class Weak
  • 无需 nib 以编程方式实例化 UIViewController

    我想创建一个UIViewController以编程方式进行 无需使用笔尖或故事板 我认为实施该计划就足够了UIViewController as class TestViewController UIViewController overr
  • DropDelegate Safari 拖动图像

    我正在尝试实施DropDelegate模式以允许将图像拖到我的视图中并加载它们 这对于取景器中的图像效果很好 但是当将图像从 safari 拖到我的视图中时 这不起作用 我注意到typeIdentifier or UTType所提供的信息
  • Swift3 中的数组排序

    在我的代码中 我有一个如下所示的结构 struct Object var name String var count Int 我现在正在创建一个包含 10 个对象的数组 这些对象具有随机名称和随机计数 有没有一个简单的方法a 按字母顺序对它
  • Google 登录服务器验证码无 iOS?

    我们让 Google 登录您的应用程序 我们在请求登录时提供服务器客户端 ID 我们得到的 user serverAuthCode 为 nil 我们的要求如下 func googleLogin var configureError NSEr
  • Swift上传文件到PHP服务器

    因此 我将文件从 swift 上传到 PHP 服务器 POST 请求按预期到达 带有标头和所有内容 但我无法从中获取任何内容 FILES 它只是一个空数组 我显然在 Swift 方面做错了什么 这是我的代码 func testUpload
  • Swift 和 Cocoapods - 缺少必需的模块

    我正在尝试制作一个 Swift 框架 该框架依赖于两个库 阿拉莫菲尔 https github com Alamofire Alamofire and SwiftyJSON https github com SwiftyJSON Swift
  • 遵守协议并保持财产私有

    我需要将符合类中的协议属性用作私有属性 但编译器拒绝这样做 我怎样才能实现呢 protocol ProtocolX class var x Int get set func performAnyActionOnX extension Pro
  • 是否可以使 MGLPolyLines 可选择? - 斯威夫特,MapBox

    是否可以使 MGLPolyLine 可触摸 可选择 具有用户交互 在我的项目中 用户需要触摸折线 有这个问题 https stackoverflow com questions 43683846 how to make a mglpolyl
  • 如何在 UICollectionView PerformBatchUpdates 块中排序移动、插入、删除和更新?

    In my UICollectionView 我使用一个简单的自定义对象数组来生成和显示单元格 有时数据会发生变化 我想一次性为所有变化添加动画效果 我选择通过跟踪第二个数组中的所有更改 比较两个数组并在一个数组内生成一组移动 插入 删除和
  • 如何在 Swift 中枚举 OptionSetType?

    我在 Swift 中有一个自定义的 OptionSetType 结构 如何枚举一个实例的所有值 这是我的选项集类型 struct WeekdaySet OptionSetType let rawValue UInt8 init rawVal
  • 可达性更改通知应仅调用一次

    我在我的 swift 项目中使用了 Reachability 我在 AppDelegate 中有以下代码 NSNotificationCenter defaultCenter addObserver self selector reacha
  • Swift NotificationCenter 删除观察者最快的方法

    我正在添加一些观察员viewController applicationWillResignActive applicationDidEnterBackground 以及许多其他人 我想删除self作为一行中所有已注册通知的观察者 我的问题
  • 在 swift 中获取用户可读的类名版本(在 objc NSStringFromClass 中就可以了)

    Swift 中是否有相当于 NSStringFromClass 的类名 可以提供用户可读的版本 我尝试将它与我创建的本机 Swift 类一起使用 但如您所见 结果似乎是编译器对类名的内部表示 println NSStringFromClas
  • XC测试元组

    我正在尝试构建一个单元测试 如下所示 region is a Double Double tuple XCTAssertEqual region 0 0 200 0 但 Xcode 给我一个错误 Cannot invoke XCTAsser
  • 包含字符串和数字的数组

    在 Objective C 中 很容易创建一个异构数组 如下所示 NSArray myArray String1 String2 123 456 有什么方法可以快速创建这样的数组吗 如果是的话怎么办 Note 我在 swift 中尝试了类似
  • 带约束的 Swift 动画

    是否可以通过改变约束来制作 UIView 动画 基本上 我想要动画myv UIView 具有 x y 高度和宽度约束 使用 UIView animateWithDuration 1 5 通过改变旧的限制 是的 这是可能的 你可以这样做 fu
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let

随机推荐