【问题标题】:How do you prevent SceneKit animations from playing immediately on load?如何防止 SceneKit 动画在加载时立即播放?
【发布时间】:2021-12-03 06:53:11
【问题描述】:

我正在从 .usdz 文件加载 3d 模型,默认情况下,动画在加载完成后立即播放和循环:

let modelURL = Bundle.main.url(forResource: "model", withExtension: "usdz")!
let scene = try! SCNScene(url: modelURL, options: nil)

let view = SCNView(frame: CGRect(x: 0,
                                 y: 0,
                                 width: 500,
                                 height: 500))

view.scene = scene


PlaygroundPage.current.liveView = view

我想阻止它在加载时播放动画。

【问题讨论】:

    标签: swift animation scenekit


    【解决方案1】:

    您需要将带有 SCNSceneSource.AnimationImportPolicy 键的值传递给 SCNScene init(url:options:) 初始值设定项的 options 参数:

    let doNotPlay = SCNSceneSource.AnimationImportPolicy.doNotPlay
    
    let scene = try! SCNScene(url: modelURL, options: nil)
                              options: [.animationImportPolicy: doNotPlay])
    

    文档中SCNSceneSource.AnimationImportPolicy的选项列表是here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-14
      • 2016-09-19
      • 1970-01-01
      • 2014-10-30
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      相关资源
      最近更新 更多