three texture sphere raycaster javascript three.js

javascript - texture - three js rotation



¿Cómo borro THREE.JS Scene? (1)

Puede atravesar los objetos secundarios de la escena y eliminarlos uno por uno.

scene.children.forEach(function(object){ scene.remove(object); });

Editar:

Como se sugiere en los comentarios, la respuesta anterior es incorrecta. La forma correcta de eliminar todos los objetos de la escena es usar un ciclo for / while.

while(scene.children.length > 0){ scene.remove(scene.children[0]); }

Nota: Esto es solo un borrado rápido y sucio de la jerarquía de objetos. Si planea hacer esto mucho, corre el riesgo de tener fugas de memoria con el código anterior porque el procesador tiene referencias a los materiales, las texturas y las geometrías de los objetos. Una limpieza completa de la escena es más complicada y hay muchas otras preguntas que entrarán en más detalles:

Estoy tratando de encontrar formas de limpiar todos los objetos en una escena sin destruir la escena misma. Sé que nombrar el objeto es de una manera y luego, cuando queremos eliminar el objeto, simplemente lo "obtenemos" por su nombre. Sin embargo, quiero encontrar una manera rápida de borrar una escena de todos los objetos que contiene, independientemente de sus nombres. ¿Hay una manera fácil de hacerlo? ¡Gracias!