簡體   English   中英

當SceneKit動畫停止時,StopKit上SpriteKit疊加層的動畫停止

[英]Animations of SpriteKit overlay on SceneKit stops when SceneKit animations stop

我猜可能有人曾經問過這個問題,但是現在我找不到,所以在此進行中。

當SceneKit動畫停止時,StopKit上SpriteKit疊加層的動畫停止。 這是意外的。 就像整個SCNView一樣,一旦3D內容不動,它的孩子就會入睡。 如何使Spritekit場景獨立於Scenekit場景進行動畫處理? 更新:我已經確認,如果我添加一個無限旋轉的簡單3D框並將其放在視圖中的某個位置,則3D場景不會“休眠”,並且疊加層也不會。 是否有某個設置可以阻止SceneKit部件進入休眠狀態?

背景:我使用SCNView.overlaySKScene 我對那個疊加層的一個子節點有一個無限重復的動畫。 一旦在SceneKit場景中進行動作和/或動畫處理,疊加的2D素材也會進行動畫處理,但是一旦3D動畫停止就停止。

iOS 9.2.1。

SceneKit視圖僅在知道動畫正在進行時才運行其更新/渲染循環。 (因為如果要渲染的內容沒有變化,渲染只會浪費CPU / GPU時間並消耗電池電量。)

SceneKit在猜測何時應運行渲染循環時相當保守。 如果場景中有CAAnimationSCNAction ,或者物理引擎正在做某事,它將運行,但是我想就是這樣。

如果您還有其他要運行渲染循環的內容(例如需要運行自己的游戲循環的疊加SKScene ),只需將視圖的playing屬性設置為true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM