es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe una forma mejor / más corta / más limpia de recolectar objetos de escena y materiales?

¿Hay una forma mejor/más corta de reunir todos estos objetos de escena y materiales de una vez en el caso de que pueda tener más de 50 objetos y materiales? Tal vez un bucle y un array o algo así, pero no estoy seguro de cómo hacerlo.

// Objetos de escena
const badge = await Promise.all([
Scene.root.findFirst(‘object0’),
Scene.root.findFirst(‘object1’),
Scene.root.findFirst(‘object2’),
Scene.root.findFirst(‘object3’),
Scene.root.findFirst(‘object4’),
])

// Materiales de los objetos
const objectMaterial = await Promise.all([
Materials.findFirst(‘ObjectMat_0’),
Materials.findFirst(‘ObjectMat_1’),
Materials.findFirst(‘ObjectMat_2’),
Materials.findFirst(‘ObjectMat_3’),
Materials.findFirst(‘ObjectMat_4’),
])

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, un bucle y un array serían una forma mejor y más eficiente de recopilar estos objetos y materiales de escena. Aquí tienes un ejemplo de código que utiliza un bucle y un array:

    // Objetos de Escena
    const numObjects = 50;
    const objectNames = [];
    for (let i = 0; i < numObjects; i++) {
      objectNames.push(`object${i}`);
    }
    
    const sceneObjects = await Promise.all(objectNames.map(name => Scene.root.findFirst(name)));
    
    // Materiales de los Objetos
    const materialNames = [];
    for (let i = 0; i < numObjects; i++) {
      materialNames.push(`ObjectMat_${i}`);
    }
    
    const objectMaterials = await Promise.all(materialNames.map(name => Materials.findFirst(name)));
    

    Este código genera un array de nombres de objetos y nombres de materiales utilizando un bucle, y luego utiliza el método map para transformar el array en un array de Promesas que se resuelven en los objetos y materiales de escena. Finalmente, utiliza Promise.all para esperar a que todas las Promesas se resuelvan. Esta es una forma más concisa y escalable de recopilar objetos y materiales de escena.

Comments are closed.