问题
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