我想使用SceneKit做无尽的视差样式背景,但是我认为我不太了解如何检测网格是否在“镜头外”。

最佳答案

场景渲染器(仅iOS上的视图)可以使用isNodeInsideFrustum:withPointOfView:从特定的角度(例如照相机)检查对象是否位于视锥内部(可视对象的形状)

这将检查节点的边界框是否在视锥内部(忽略视锥框是否被其他物体遮挡)。即该节点位于可见区域,但不能保证在屏幕上可见。

要检查某件东西是否在“摄像机外”,您可以检查它是否在该摄像机的可视区域之外(这里我假设该摄像机是场景视图的视角):

BOOL isOffCamera = ![yourSceneView isNodeInsideFrustum:theNodeToCheck
                                       withPointOfView:yourSceneView.pointOfView];

关于ios - 我如何知道何时几何(SCNNodes)位于 View 的边缘?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27198348/

10-12 14:45