如果场景中没有动画,是否有办法强制SCNView按需渲染新帧?如果场景是静态的,SCNView只会呈现一次,然后才会发生变化。
通常这是有道理的,但我正在与Vuforia增强现实框架一起工作,这需要我每次处理来自相机的新视频帧时渲染新的帧。我通过使用CAEAGLLayer创建自己的UIView来解决这个问题,该CAEAGLLayer使用SCNRenderer呈现SceneKit内容。这很好用,但我很好奇是否有办法用SCNView做到这一点,所以我可以避免直接触摸OpenGL ES。
答案 0 :(得分:14)
您可以将其playing
属性设置为YES
答案 1 :(得分:0)
作为一个UIView,您可以像使用任何其他UIView一样使用相同的机制来请求更新:[_sceneView setNeedsDisplay];
但是,正如所指出的,这不应该被用作驱动更新的主要方式,因为它不会与显示同步。
答案 2 :(得分:0)
你可以这样增加sceneTime
:
sceneView.sceneTime += 1
然后它会渲染一个帧。