Reality Composer – "Hide all on Scene Start" 故障

RealityComposer – Glitch with "Hide all on Scene Start"

我有一个包含多个场景的 Reality Composer 文件,所有场景一开始都是空的,然后一些模型每秒一个接一个地出现。尽管动画在 Quicklook 和 Reality Composer 中完美运行,但当我尝试将它集成到我的应用程序中时,它会出现奇怪的故障 Xcode。当启动第一个场景或当我们转到另一个场景时,它们不会开始是空的。.在一瞬间,我们看到那个场景的所有模型都被显示出来,然后立即消失。

然后,我们看到它们按预期缓慢出现。每个场景开始时那微小的模特闪光正在毁掉一切。我尝试使用 .reality 文件和 .rcproject 文件,同样的问题。事实上,当我们在 Xcode 中预览 Reality 文件的动画时,它会出现同样的故障。我尝试使用不同的隐藏和显示功能,没有变化。我尝试了不同的触发器,例如通知、场景启动、点击,没有变化。

我检查了很多教程,仍然没有发现我正在做的事情有任何问题。我几乎觉得 Reality Composer 的当前集成存在问题。我真的很感激关于这个主题的一些想法...

试试这个以防止瞥见...

import UIKit
import RealityKit

class ViewController: UIViewController {
        
    @IBOutlet var arView: ARView!
    var box: ModelEntity!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let scene = try! Experience.loadScene()
        self.box = scene.cube!.children[0] as? ModelEntity
        self.box.isEnabled = false
        arView.scene.anchors.append(scene)
        
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
            self.box.isEnabled = true
        }
    }
}

在这种情况下,故障仅发生在球体上。盒子对象工作正常。

@AndyJazz 谢谢。这个解决方案对我有用。交替到行:

DispatchQueue.main.asyncAfter(截止日期:.now() + 0.5){ self.box.isEnabled = 真

我建议(在 Reality Composer 中)创建行为: 触发场​​景开始 动作秀

然后还可以使用运动类型、缓动类型和样式调整实体的外观,并链接到其他序列。