【问题标题】:How can I simulate a double-tap event on a Scene View如何在场景视图上模拟双击事件
【发布时间】:2022-01-25 19:49:13
【问题描述】:

背景:我有一个使用 SceneKit 呈现 3D 模型的应用。默认情况下,SceneKit 有一个功能,一旦用户双击,3D 模型就会返回到其原始位置。我想以编程方式使用此功能。当用户点击某个按钮时,3D模型会回到原来的位置。因此,如果可能的话,我想触发一个双击事件,并希望 3D 模型会做出相应的反应。 如何做到这一点?

这个问题与另一个案例How to retrieve information about the camera position in a sceneKit project when the 3D model is zoomed? 相关,我尝试通过将相机节点位置设置为其原始值来解决此任务。但显然这是不可能的。为了达到我的应用程序的要求,双击的伪造将是一种变通方法。

【问题讨论】:

    标签: ios swift xcode scenekit


    【解决方案1】:

    https://stackoverflow.com/a/24768474/2997825https://stackoverflow.com/a/70779030/2997825 中所述,SceneKit 将创建一个新节点并将其设置为交互开始时的视点。

    要恢复到原始相机,您只需将pointOfView 属性设置回原始的、未触及的相机节点即可。

    【讨论】:

    • 我试图用 pointOfView 参数实现一个解决方案。然而,这些测试证实了 postion.z 不会被缩放改变,也不会对变化做出反应。这与 position.x 和 position.y 不同。由于硬件限制,我目前正在使用旧的 Xcode 10 环境。我已经订购了一台新的 iMac,很快就可以使用 Xcode 14。然后我将再次进行此测试并在此处发表进一步的评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2020-03-23
    • 1970-01-01
    相关资源
    最近更新 更多