Three.js: ¿Cómo restar geometría?

Creado en 7 dic. 2011  ·  2Comentarios  ·  Fuente: mrdoob/three.js

¿Hay alguna forma de restar geometrías?

Tengo el contorno de un edificio y el contorno de un patio interior. Extruí el contorno del edificio por la altura para crear un sólido para el edificio, pero ahora necesito quitar el patio del medio.

Gracias

Question

Comentario más útil

Todos 2 comentarios

He encontrado la respuesta, no estoy seguro de si es la mejor manera, pero funciona.

Agrego la geometría exterior en el sentido de las agujas del reloj y luego los bits para eliminar en el sentido contrario a las agujas del reloj a una ruta antes de convertirla en una forma para extruir.

        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);
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ghost picture ghost  ·  3Comentarios

yqrashawn picture yqrashawn  ·  3Comentarios

akshaysrin picture akshaysrin  ·  3Comentarios

zsitro picture zsitro  ·  3Comentarios

jack-jun picture jack-jun  ·  3Comentarios