Как получить доступ к компоненту модели Reality Composer в RealityKit? - PullRequest
2 голосов
/ 18 января 2020

Я пытаюсь изменить компонент модели текстовой сущности, созданной в Reality Composer в моем коде, но это как! преобразование созданного gui объекта к ссылке на объект с компонентом модели не удалось.

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

Текстовый объект в RealityKit должен иметь свойство модели, так как он визуально отображается в ARView, но Я не знаю, как получить к нему доступ. Кто-нибудь имеет какие-либо идеи, как?

Есть ли другие простые способы динамического отображения различного текста в одном месте, используя RealityKit / Reality Composer?

1 Ответ

1 голос
/ 20 января 2020

Чтобы получить доступ к Reality Composer ModelComponent в 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()           
        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)
    }
}

enter image description here

...