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