Set text programmatically of an Entity in Reality Composer - iOS 13

旧巷老猫 提交于 2019-12-10 11:09:16

问题


In my iOS app I want to introduce a part of AR using the new Reality Composer.

In my project I load a scene with this code:

let arView = ARView.init(frame: frame)

// Configure the AR session for horizontal plane tracking.

let arConfiguration = ARWorldTrackingConfiguration()
arConfiguration.planeDetection = .horizontal
arView.session.run(arConfiguration)
arView.session.delegate = self

self.view.addSubview(arView)

Experience.loadSceneAsync{ [weak self] scene, error in

print("Error \(String(describing: error))")

guard let scene = scene else { return }

arView.scene.addAnchor(scene)

// THIS IS THE entity that i want to edit programmatically
scene.Label

The "scene.label" is a text object in my scene and I want to set text programmatically.

How can I do that? It's possible?

Thanks in advance


回答1:


In RealityKit framework for iOS 13, use the following type method for generating 3D text:

static func generateText(_ string: String,             // label.text here
                   extrusionDepth: Float, 
                             font: MeshResource.Font, 
                   containerFrame: CGRect, 
                        alignment: CTTextAlignment, 
                    lineBreakMode: CTLineBreakMode) -> MeshResource

This method generates a 3D mesh for rendering static text in iOS.

static func generateText(_ string: "Hello World!", 
                   extrusionDepth: Float = 0.75, 
                             font: MeshResource.Font = .systemFont(ofSize: MeshResource.Font.systemFontSize), 
                   containerFrame: CGRect = CGRect.zero, 
                        alignment: CTTextAlignment = .center, 
                    lineBreakMode: CTLineBreakMode = .byTruncatingTail) -> MeshResource


来源:https://stackoverflow.com/questions/56647371/set-text-programmatically-of-an-entity-in-reality-composer-ios-13

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!