首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Threejs切换场景

Threejs切换场景
EN

Stack Overflow用户
提问于 2017-05-22 17:48:47
回答 2查看 2.6K关注 0票数 0

我有一个项目,实际加载和渲染3个不同的场景在网站的三个不同的区域。现在,每次我需要切换场景时,我都会移除画布(一个全三层的侦听器和迭代器),然后从头开始渲染新的场景。

使用渲染器创建一个独特的场景,并在其中加载来自三个不同场景的不同网格、灯光和摄影机,这是一种良好的实践还是有性能优势?

有没有人已经测试过类似的场景?

EN

回答 2

Stack Overflow用户

发布于 2017-05-22 19:15:01

你在找像this这样的东西吗?

如果您正在寻找一次显示一个场景,我认为最好的选择是创建场景并只渲染选定的场景。参见THREE.WebGLRenderer.render()

票数 0
EN

Stack Overflow用户

发布于 2017-05-23 04:20:42

在性能方面,使用单个渲染器实例和不同的场景/摄影机对象传递给它的render()-call并(如果必要)在您的站点上重新定位renderer.domElement可能会稍微好一些。这样你就不需要有多个画布和渲染上下文,渲染器可以缓存一些与webgl相关的东西。此方法还可以在场景中重用材质等内容。

然而,性能差异应该是最小的,并且只(或至少大部分)初始化开销在最大范围内。100ms (当然这取决于你到底在做什么,但这只是我的猜测)。

因此,如果将所有东西都隔离起来感觉更好(根据你的应用程序的构建方式,可能也有很好的理由):只要保持这种方式,并衡量它是否有任何负面影响(我猜:它可能不会)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44109772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档