在网页上播放spine时如果数量过多或者用户浏览器自身问题,spine动画会丢失,例如chrome默认webgl最多16个同时存在,如何突破这个限制

Related Discussions
...

在网页上播放多个Spine动画时,浏览器的WebGL上下文限制可能会导致动画丢失。通常,移动浏览器的限制较低,可能只有4个,而桌面浏览器可能允许更多。要突破这个限制,可以使用以下方法:

  1. 重用Canvas:通过动态添加和移除Canvas来管理WebGL上下文的数量。例如,在Esoteric Software的Spine Demos页面中,使用了一个技巧来重用Canvas。页面上只有少量的Canvas,随着用户滚动,Canvas会被移除并重新用于新的位置。

  2. 使用单一Canvas:将多个骨架渲染到一个Canvas中。可以使用spine-webgl来实现这一点,它允许在同一个WebGL上下文中显示多个骨架。

  3. 选择合适的运行时:如果spine-webgl过于复杂,可以尝试使用其他运行时,如spine-phaser,它更适合在单个Canvas中显示多个骨架。

通过这些方法,可以有效地管理WebGL上下文的使用,避免超过浏览器的限制。

  • 수정됨

Spinebot's answer is good. Additionally, we've just released an early version of our spine-webcomponents, which makes using Spine in web pages a lot more powerful. It's available for 4.2 and if you want to take an early look, see here:
EsotericSoftware/spine-runtimestree/4.2/spine-ts/spine-webcomponents

Check out this extensive demo page:
https://esotericsoftware.com/files/spine-widget/tutorial.html
As you can see, with spine-webcomponents you can have an enormous number of Spine skeletons on a web page without any problems. That page has 80+ skeletons on it!