【问题标题】:SceneKit Calculate Viewable Bounds?SceneKit 计算可视范围?
【发布时间】:2014-08-25 02:28:54
【问题描述】:

所以根据标题,我想弄清楚是否有一种计算场景边界的好方法,因为通常的帧/边界属性在上下文中并不真正起作用。

我基本上需要一种方法来根据 xFov/yFov/zNear/zFar 的相机设置检查对象是否已移出可视屏幕。到目前为止,我还没有真正找到这样做的好方法。我是否在这里忽略了任何 API 方法,还是需要手动计算?

我希望我在这里说得通,如果不是,请告诉我,我会进一步澄清。

【问题讨论】:

    标签: ios scenekit


    【解决方案1】:

    SCNView 符合 SCNSceneRenderer,而 SCNSceneRenderer 又具有一个名为 isNodeInsideFrustum:withPointOfView: 的方法,这正是您要寻找的。根据the documentation,返回:

    YES 如果被测节点的边界框与pointOfView 节点定义的视锥相交;否则,NO


    使用它看起来像这样:

    BOOL isInside = [sceneView isNodeInsideFrustum:nodeToTest
                                   withPointOfView:sceneView.pointOfView];
    if (!isInside) {
        // the bounding box of nodeToTest is not in the viewport ...
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多