2016-08-12 6 views
0

У меня есть сценарий three.js. Есть некоторые объекты, включая объект водяного знака. Мне нужно сделать снимок сцены, но он не должен включать объект водяного знака. Но в то же время пользователь не должен видеть сцену без водяных знаков на своем экране, чтобы он не мог сделать снимок экрана. Возможно ли и как? Спасибо!Three.js: моментальный снимок сцены, исключая конкретный объект

ответ

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); 
} 

Я просто установить сетку для видимой = ложь, визуализировать сцену, чтобы сделать снимок экрана, а затем установить mesh.visible назад к истине.