Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events 在将对象添加到three.js场景中时,是否会触发事件,或者该场景为“0”;准备好了吗;?_Events_Three.js - Fatal编程技术网

Events 在将对象添加到three.js场景中时,是否会触发事件,或者该场景为“0”;准备好了吗;?

Events 在将对象添加到three.js场景中时,是否会触发事件,或者该场景为“0”;准备好了吗;?,events,three.js,Events,Three.js,我正在尝试获取一个three.js场景的图像(通过renderer.domElement.toDataURL)。它工作正常,但如果在对场景进行一些重大更改(例如scene.add(mesh)或调整窗口大小)后立即调用它,我认为我遇到了问题,它得到的图像是空白/空的(完全透明的)。如果我等待一秒钟并手动调用它,图像将出现 当场景(或渲染器,我猜?)准备好作为这样访问时,three.js中是否有触发的事件?我已经尝试为“ready”和其他一些添加事件侦听器到scene和renderer.domEle

我正在尝试获取一个three.js场景的图像(通过
renderer.domElement.toDataURL
)。它工作正常,但如果在对场景进行一些重大更改(例如
scene.add(mesh)
或调整窗口大小)后立即调用它,我认为我遇到了问题,它得到的图像是空白/空的(完全透明的)。如果我等待一秒钟并手动调用它,图像将出现


当场景(或渲染器,我猜?)准备好作为这样访问时,three.js中是否有触发的事件?我已经尝试为“ready”和其他一些添加事件侦听器到scene和renderer.domElement,但没有成功。谢谢。

嗯,我以为在场景中添加对象时发生了事件。如果没有,请参见此处:关于toDataURL。我认为toDataURL依赖于帧缓冲区,所以它不关心场景状态。它要么显示添加了对象的屏幕,要么显示缺少对象的前一帧。如果你只得到一个黑色图像,也许你对toDataURL的调用是错误的?如果未启用“自动清除”,则需要直接在render()-函数之后和beforerenderer.clear()之前添加此选项。如果是,可能会将其更改为false?它可能确实是较低级别(帧缓冲区或其他);我不确定。我相信。我知道我的调用没有错,因为如果我只是等待并手动(从js控制台)进行相同的调用,它就可以正常工作。当它在three.js(或更低版本)完成之前抓取数据时,它只是得到一个完全透明的png。我会试着看看,当某个事件准备被抓取时,我是否能找到它。