Clone loaded OBJ and change material

Hi I wanna clone this loaded object multiple time but i also wanna update material too with new texture mapped. i can achieve that without repeat loader code again and again.
i know how to clone mesh but it’s not updating material.
code is below.
thanks in advance


const Texture = new THREE.TextureLoader().load('/1.jpg');
 
  // immediately use the texture for material creation

  const material = new THREE.MeshPhongMaterial({
    // color: 0xc8c8c8,
    side: THREE.DoubleSide,
    castShadow: true,
    emissive: 1,
    map: Texture
  });




const objLoader1 = new OBJLoader()
objLoader1.load(
    '/hodlerStandie.obj',
    (object) => {
        (object.children[0]).material = material
        object.traverse(function (child) {
            if ((child ).isMesh) {
                (child).material = material
            }
        })

       
        const stand=object;
         stand.position.set(-16,0,-5.5);
         stand.scale.set(0.02,0.02,0.02);
         stand.rotation.set(0,180*(Math.PI / 180),0);
        parent.add( stand)
      
       
    },
    (xhr) => {
        console.log((xhr.loaded / xhr.total) * 100 + '% loaded')
    },
    (error) => {
        console.log(error)
    }
)**strong text**
if ((child ).isMesh) {
(child).material = material
alert("ok");
child.material.needsUpdate=true;
}

This is my first time to answer a question :slight_smile: i hope i understand right…

const geometry = new THREE.PlaneGeometry( 1, 1 );
const material = new THREE.MeshBasicMaterial( {
  color: 0xffffff, 
  side: THREE.DoubleSide,
} );
const plane = new THREE.Mesh( geometry, material );

const texture = Promise.all([
  textureLoader.load('1.jpg'), 
  textureLoader.load('2.jpg'), 
  textureLoader.load('3.jpg'), 
  textureLoader.load('4.jpg')], (resolve, reject) => {
  resolve(texture);
}).then(result => {
  
  // when everything is loaded iterate through textures
  for (let i = 1; i < result.length + 1; i++) {
    textureLoader.load(`./assets/${i}.jpg`, (texture)=>{  
      const clonePlane = plane.clone()
      clonePlane.material.map = texture
      plane.position.set(Math.random() + .3, -i * 2, 0)
    })
  }

});

if i were you i would load all textures before and after promise i do things