我想在2个复杂的场景之间切换介绍动画。这两个场景都从.gltf或.babylon文件加载,并包含摄影机运动。
我遇到的问题是,当我从scene1切换到2时,在下一个场景动画开始之前会出现冻结/卡顿。渲染场景后,场景切换将照常进行。这可能很难发现,但第一次切换和随后的切换肯定是有区别的。
我试过在加载场景后立即使用scene2.render();,它有一点帮助,但它在尝试渲染两个场景时也会使第一个场景卡顿。我是不是漏掉了什么?我找不到一个在线效果很好的场景切换介绍的例子。只有摄像头开关,但那不是我想要的。
发布于 2019-03-01 05:13:13
这是因为需要编译第二个场景的着色器(因为它们可能不同于第一个场景中使用的着色器)。
Babylon.js v4将支持并行着色器编译,但这不会在所有浏览器上都可用。
最好的选择是预先强制编译:
scene1.meshes.forEach(mesh => {
mesh.material.forceCompilation(mesh);
});https://stackoverflow.com/questions/54918653
复制相似问题