【发布时间】:2014-12-18 16:19:42
【问题描述】:
我正在创建一个包含大量对象的静态场景,并且我想在渲染后将其另存为图像。如何在 THREE.js r69 中做到这一点?
【问题讨论】:
-
您接受的答案是否真的回答了问题并解决了您的问题?因为我保存的图像使用接受的答案存在时间问题。
标签: javascript three.js webgl
我正在创建一个包含大量对象的静态场景,并且我想在渲染后将其另存为图像。如何在 THREE.js r69 中做到这一点?
【问题讨论】:
标签: javascript three.js webgl
很可能,你没有朝着正确的方向前进。
如果你有这样的功能
function animate() {
requestAnimationFrame(animate);
render ();
}
渲染器一直在工作。
当您看到场景未完成时,这是因为网格尚未完成加载,而不是因为渲染器尚未完成渲染。
因此,您必须在正在加载的模型上侦听一些 onload 事件,这取决于您用来加载它们的方法(并且您没有解释,所以我无法为您提供更多帮助)
鉴于您回复中的代码,不清楚何时将网格添加到场景中。无论如何,我会尝试
function loaderCallback() {
mesh = new THREE.Mesh (...
scene.add (mesh);
requestAnimationFrame(saveImage);
render ();
}
在渲染完成时应该调用 requestAnimationFrame 调用的函数。
【讨论】: