[英]RealityKit – Set text programmatically of an Entity of Reality Composer
在我的 iOS 應用程序中,我想使用新的 Reality Composer 介紹 AR 的一部分。
在我的項目中,我使用以下代碼加載場景:
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”是我場景中的一個文本對象,我想以編程方式設置文本。
我怎樣才能做到這一點? 這是可能的?
提前致謝
在 RealityKit 框架中,使用以下類型方法生成 3D 文本:
static func generateText(_ string: String,
extrusionDepth: Float,
font: MeshResource.Font,
containerFrame: CGRect,
alignment: CTTextAlignment,
lineBreakMode: CTLineBreakMode) -> MeshResource
讓我們看看真正的代碼長什么樣:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.