2016-08-12 3 views
0

J'ai une scène three.js. Il y a quelques objets comprenant un objet de filigrane. Je dois prendre un instantané de scène mais il ne doit pas inclure l'objet filigrane. Mais en même temps un utilisateur ne devrait pas voir la scène sans filigrane sur son écran afin qu'il ne puisse pas prendre une capture d'écran. Est-ce possible et comment? Merci!Three.js: instantané de scène excluant un objet particulier

Répondre

1

HERE est un violon qui montre comment prendre une capture d'écran.
HERE est une version qui masque le maillage avant la capture d'écran.

Fonction d'origine.

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

Fonction modifiée pour masquer le maillage.

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

Je viens de mettre le maillage à visible = false, rendre la scène pour prendre la capture d'écran, puis réglez mesh.visible sur true.