![](/img/trans.png)
[英]ARKit & Reality composer - how to Anchor scene using image coordinates
[英]ARKit - Programmatically 'billboard' (look at camera) elements added in Reality composer
我正在使用 Xcode (11.3.1) 使用 ARKit 制作 AR 應用程序。 我在 Reality Composer 中添加對象、文本等。 然后我可以通過在
ViewController.swift<\/code>中加載場景和對象來訪問這些對象。
我想讓這些物體中的一些不斷面對相機。
我知道我可以在 Reality Composer 中添加一個觀察相機的“行為”,但我不想這樣做有兩個原因;
a)它只允許您以這樣的方式添加效果持續一定時間(最多 5 分鍾)
b)我想知道如何以編程方式執行此操作。
我知道這里提供了一系列 ARKit 中的廣告牌解決方案,其中大部分都包含在這個問題<\/a>的答案中,但所有這些解決方案都涉及使用 SceneKit。
因此,我的問題是——是否可以在不使用 SceneKit 的情況下實現這種“廣告牌”效果? 有沒有辦法只在 RealityKit 中做到這一點? 似乎有,因為您可以通過使用 Reality Composer 將其添加為行為來包含此效果(據我所知,它不需要 SceneKit,但我可能是錯的)。 我試圖深入研究 Reality Composer 場景以了解廣告牌是如何在那里實現的,但您可以在對上一個問題的回復中<\/a>看到“行為”沒有暴露,所以我看不出這是如何實現的。
我的“從頭開始”的方法是了解相機<\/a>的位置\/旋轉,但我太缺乏經驗,不知道從哪里開始。
本質上我正在尋找相當於
SCNBillboardConstraint<\/code>但不使用 SceneKit,也許這是不可能的?
extension Entity {
/// Billboards the entity to the targetPosition which should be provided in world space.
func billboard(targetPosition: SIMD3<Float>) {
look(at: targetPosition, from: position(relativeTo: nil), relativeTo: nil)
}
}
var subscriptions = Set<AnyCancellable>()
arView.scene.subscribe(to: SceneEvents.Update.self) { [self] _ in
箭頭.billboard(targetPosition: arView.cameraTransform.translation)
}.store(in: &subscriptions)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.