【问题标题】:Swift SceneKit - I am trying to figure out if a Node object goes off the screenSwift SceneKit - 我试图弄清楚 Node 对象是否离开屏幕
【发布时间】:2020-11-19 13:41:46
【问题描述】:
使用 SceneKit
我想让灰色透明框消失,只在用户放大时显示彩色框。
因此,我想在缩放时检测该框的边缘何时开始从屏幕上脱落,以便相应地隐藏灰色框。
【问题讨论】:
标签:
ios
swift
xcode
sprite-kit
scenekit
【解决方案1】:
初步想法,但可能有更好的解决方案:
- 您可以在节点上执行 unprojectPoint 并检查屏幕坐标,对对象大小进行 +/- 数学运算并跳过 Z。我“认为”这样可行
- 您可以针对充当屏幕边缘的不可见框或平面几何图形进行一些基于物理的碰撞检测,如果您的视图发生变化,则会有一些复杂性,但测试会很容易 - 只需保持可见,直到您得到您想要的,然后 isVisible=false
- isNode(insideFrustomof: ) - 返回布尔值是否“可能”可见。我假设“可能”意味着被其他几何图形遮蔽,在您的情况下,重新考虑(编辑)应该无关紧要,这不能解决您的问题,但我会将其留在这里以供参考。