RealityKit –以编程方式设置Reality Composer实体的文本 [英] RealityKit – Set text programmatically of an Entity of Reality Composer
本文介绍了RealityKit –以编程方式设置Reality Composer实体的文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的iOS应用中,我想使用新的Reality Composer来介绍AR的一部分.
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
"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?
预先感谢
推荐答案
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
让我们看看一个真实的代码是什么样的:
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: ModelComponent = (textEntity.components[ModelComponent])!
textModelComponent.mesh = .generateText("Hello, World!",
extrusionDepth: 0.5,
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)
这篇关于RealityKit –以编程方式设置Reality Composer实体的文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文