Three.js: Comment soustraire la géométrie?

Créé le 7 déc. 2011  ·  2Commentaires  ·  Source: mrdoob/three.js

Existe-t-il un moyen de soustraire des géométries?

J'ai le contour d'un bâtiment et le contour d'une cour intérieure. J'ai extrudé le contour du bâtiment par la hauteur pour créer un solide pour le bâtiment, mais je dois maintenant supprimer la cour du milieu.

Merci

Question

Commentaire le plus utile

Tous les 2 commentaires

J'ai trouvé la réponse - je ne sais pas si c'est le meilleur moyen, mais cela fonctionne.

J'ajoute la géométrie extérieure dans le sens des aiguilles d'une montre, puis les bits à supprimer dans le sens inverse des aiguilles d'une montre à un chemin avant de convertir en une forme à extruder.

        var path = new THREE.Path();
        // outer clockwise
        path.moveTo(-10, 10);
        path.lineTo(10, 10);
        path.lineTo(10, -10);
        path.lineTo(-10, -10);
        path.lineTo(-10, 10);
        // inner anti-clockwise
        path.moveTo(-5, 5);
        path.lineTo(-5, -5);
        path.lineTo(-2, -5);
        path.lineTo(-2, 5);
        path.lineTo(-5, 5);
        // inner anti-clockwise
        path.moveTo(2, 5);
        path.lineTo(2, -5);
        path.lineTo(5, -5);
        path.lineTo(5, 5);
        path.lineTo(2, 5);

        var height = 20;
        var shapes = path.toShapes();
        var solid = new THREE.ExtrudeGeometry(shapes, { amount: height, bevelEnabled: false });
        var mesh = new THREE.Mesh(solid, materials['building']);
        mesh.position.y = height;
        mesh.rotation.x = 90 * Math.PI * 2 / 360;
        scene.add(mesh);
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jack-jun picture jack-jun  ·  3Commentaires

ghost picture ghost  ·  3Commentaires

seep picture seep  ·  3Commentaires

makc picture makc  ·  3Commentaires

akshaysrin picture akshaysrin  ·  3Commentaires