我正在使用AVPlayer播放電影並在上面放置500個落下的粒子。我試圖簡單地添加500個動畫CALAyers。我嘗試了幾個變化,但性能始終是一個問題。只要我獲得大約100名CALayers,視頻就會變得不穩定。什麼是正確的方法來做到這一點?我想也許這應該使用OpenGL來完成,但是我從來沒有使用它,也找不到如何在OpenGL中播放視頻。我可以將背景視頻作爲單獨的幀格式,但是作爲全屏幕,內容大小變得相當快。在頂部使用動畫播放有很多粒子的視頻
0
A
回答
0
我們結束了在我們的視頻動畫上使用Cocos2D運行OpenGL圖層。表演受到了一些影響,但爲了我們的需要,這沒什麼問題。
0
嘗試將粒子繪製成數量更少的CALayers,每個層位圖有多個粒子,每個粒子落下一個速度等等。然後根據需要重繪後臺線程中的圖層,以免影響合成視頻幀率。
0
看看這個帖子Alternatives to creating an openGL texture from a captured video frame to overlay an openGL view over video? (iPhone)。 Brad演示瞭如何渲染視頻到OpenGL紋理。然後,您可以在視頻紋理化的平面上呈現您的粒子。對於交互,您可以集成一個物理引擎(如Bullet),以將力施加到屏幕區域以與粒子進行交互。
如果您可以等待,我認爲這將變得更容易(視頻到紋理流)在iOS5中。
相關問題
- 1. 很多平臺的視頻播放器
- 2. 多次播放粒子
- 3. 視頻停止播放視頻播放:(布爾)動畫方法
- 4. 視頻播放比預期快很多
- 5. 使用畫布播放視頻
- 6. jQuery視頻onpause播放動畫
- 7. 在視頻播放中播放視頻
- 8. 在UIView頂端播放透明視頻
- 9. tvOS:視頻播放器沒有推到導航堆棧頂部
- 10. 在視頻播放器頂部的覆蓋內容層
- 11. Android:很抱歉,這段視頻無法在視頻播放中播放
- 12. 放置控件在視頻的頂部
- 13. 使用MPMoviePlayerController播放多個視頻
- 14. 播放外部FLV視頻
- 15. 在UIView中播放視頻(子視圖)
- 16. 使用純動作播放視頻
- 17. 使用html5自動播放mp4視頻
- 18. 視頻播放器播放視頻
- 19. 如何在iOS中使用從視圖頂部的動畫拖動子視圖?
- 20. 使用opencv播放視頻
- 21. 使用jmf播放視頻
- 22. 使用Silverlight播放視頻
- 23. 使用AVPlayer播放視頻
- 24. 使用GStreamer播放視頻
- 25. 使用Kentico播放視頻
- 26. 使用monkeyrunner播放視頻
- 27. 使用UIimageView播放視頻
- 28. 使用MPMoviePlayer播放視頻
- 29. 使用jsp播放視頻
- 30. 在畫布上播放視頻的一部分
問題是我需要用戶能夠與粒子進行交互,並讓動畫看起來很現實。現在,我爲每個粒子生成一個自定義路徑,效果非常好。 我試圖使用UIGraphicsBeginImageContext編寫離屏圖像,但向其添加粒子圖像(500)並使用CADisplayLink刷新圖層也導致性能極差。 – droussel