Genere mediante programación mapas de UV simples para modelos

Procedente deesta pregunta Estoy tratando de generar mapeos UV mediante programación con Three.js para algunos modelos, necesito esto porque mis modelos también se generan mediante programación y necesito aplicarles una textura simple. he leídoaquí y generó con éxito el mapeo UV para un texto 3D simple, pero al aplicar el mismo mapeo a modelos más complejos simplemente no funciona

La textura que estoy tratando de aplicar es algo como esto:

El fondo negro es transparente en la imagen PNG. Necesito aplicar esto a mis modelos, es solo un efecto de brillo, así que no me importa la posición exacta en el modelo, ¿hay alguna forma de crear un Mapa UV simple programáticamente para estos casos?

Estoy usando este código de la pregunta vinculada que funciona muy bien para modelos planos pero no funciona para modelos no planos:

assignUVs = function( geometry ){

    geometry.computeBoundingBox();

    var max     = geometry.boundingBox.max;
    var min     = geometry.boundingBox.min;

    var offset  = new THREE.Vector2(0 - min.x, 0 - min.y);
    var range   = new THREE.Vector2(max.x - min.x, max.y - min.y);

    geometry.faceVertexUvs[0] = [];
    var faces = geometry.faces;

    for (i = 0; i < geometry.faces.length ; i++) {

      var v1 = geometry.vertices[faces[i].a];
      var v2 = geometry.vertices[faces[i].b];
      var v3 = geometry.vertices[faces[i].c];

      geometry.faceVertexUvs[0].push([
        new THREE.Vector2( ( v1.x + offset.x ) / range.x , ( v1.y + offset.y ) / range.y ),
        new THREE.Vector2( ( v2.x + offset.x ) / range.x , ( v2.y + offset.y ) / range.y ),
        new THREE.Vector2( ( v3.x + offset.x ) / range.x , ( v3.y + offset.y ) / range.y )
      ]);

    }

    geometry.uvsNeedUpdate = true;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta