Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 避免简短的';空屏幕';使用SceneKit_Ios_Swift_Scenekit - Fatal编程技术网

Ios 避免简短的';空屏幕';使用SceneKit

Ios 避免简短的';空屏幕';使用SceneKit,ios,swift,scenekit,Ios,Swift,Scenekit,我正在制作一个场景工具包应用程序,它确实运行得非常好。我唯一的烦恼是加载后的一瞬间,我的SCNView对象是完全空白的。我认为这是因为场景尚未加载或渲染,但如果可能的话,我希望避免 我尝试在SCNView前面放置一个模拟应用程序加载屏幕的遮罩视图,并在开始使用renderer:didRenderScene:atTime进行渲染时将其淡出,但遗憾的是,用于淡出遮罩视图的动画没有发生(它只是立即闪烁,而不是淡出)。所以我把屏蔽视图放在应用程序的主窗口中作为一个实验,并给它一个短暂的延迟。然而,即使在

我正在制作一个场景工具包应用程序,它确实运行得非常好。我唯一的烦恼是加载后的一瞬间,我的SCNView对象是完全空白的。我认为这是因为场景尚未加载或渲染,但如果可能的话,我希望避免

我尝试在SCNView前面放置一个模拟应用程序加载屏幕的遮罩视图,并在开始使用renderer:didRenderScene:atTime进行渲染时将其淡出,但遗憾的是,用于淡出遮罩视图的动画没有发生(它只是立即闪烁,而不是淡出)。所以我把屏蔽视图放在应用程序的主窗口中作为一个实验,并给它一个短暂的延迟。然而,即使在移除遮罩之前有延迟,SCNView在场景出现之前的一瞬间仍然是完全空白的


有谁能告诉我如何避免这种恼人的图形人工制品吗?

像往常一样,有一个简单的修复方法,我直到现在才找到。完成场景设置后,只需执行以下操作:

sceneView.prepareObject(scene, shouldAbortBlock:nil)

…还有宾果!不要耽搁。这是因为与SCNView中的所有对象一样,场景也是延迟加载的。调用prepareObject可以让您提前缓存它们。

它是在iOS还是OS X上?什么时候设置SCNView的场景?(视图将出现/从NIB唤醒…)没关系,我发现了问题。恼人的是,我已经知道这个方法,但不知道它可以应用于整个场景!谢谢你的帮忙!谢谢你,我为这件讨厌的小事浪费了几个小时。