Three.js:排除特定对象的场景快照

时间:2016-08-12 20:26:22

标签: three.js snapshot watermark

我有一个three.js场景。有一些对象包括水印对象。我需要拍摄场景快照,但不应包含水印对象。但与此同时,用户不应该在屏幕上看到没有水印的场景,因此他无法截取屏幕截图。 有可能吗?怎么样? 谢谢!

1 个答案:

答案 0 :(得分:1)

HERE是一个小提琴,展示了如何拍摄截图 HERE是在截屏之前隐藏网格的版本。

原始功能。

function takeScreenshot() {
    var w = window.open('', '');
    w.document.title = "Screenshot";
    var img = new Image();
    img.src = renderer.domElement.toDataURL();
    w.document.body.appendChild(img);
}

改变隐藏网格的功能。

function takeScreenshot() {
    var w = window.open('', '');
    w.document.title = "Screenshot";
    var img = new Image();
    mesh.visible = false;
    renderer.render(scene, camera);
    img.src = renderer.domElement.toDataURL();
    mesh.visible = true;
    w.document.body.appendChild(img);
}

我只是将网格设置为visible = false,渲染场景以获取屏幕截图,然后将mesh.visible设置为true。