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
To create a Reality file, choose File > Export > Export Project in the Reality Composer menu, and provide a name for the file. You use the Reality file that gets stored to disk just like you would use a usdz file, as described in Previewing a Model with AR Quick Look.
The RealityKit framework was built from the ground up specifically for augmented reality with photo-realistic rendering, camera effects, animations, physics, and more.
Reality Composer is a tool that lets anyone quickly prototype and build AR scenes ready to integrate into apps or experience with AR Quick Look. Walk through the powerful and intuitive capabilities of Reality Composer and discover hundreds of ready-to-use virtual objects in its built-in AR library.
In RealityKit framework, use the following type method for generating 3D text:
static func generateText(_ string: String,
extrusionDepth: Float,
font: MeshResource.Font,
containerFrame: CGRect,
alignment: CTTextAlignment,
lineBreakMode: CTLineBreakMode) -> MeshResource
Let's see how a real code looks like:
let textAnchor = try! SomeText.loadTextScene()
let textEntity: Entity = textAnchor.vacation!.children[0].children[0]
var textModelComponent = (textEntity.components[ModelComponent])!
textModelComponent.mesh = .generateText("Hello, World!",
extrusionDepth: 0.01,
font: .systemFont(ofSize: 0.25),
containerFrame: CGRect.zero,
alignment: .center,
lineBreakMode: .byCharWrapping)
textAnchor.vacation!.children[0].children[0].components.set(textModelComponent)
arView.scene.anchors.append(textAnchor)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With