Respuestas:
Blender puede exportar archivos PLY (.ply), que están basados en texto, son muy fáciles de analizar e incluyen colores de vértices. La forma difícil es cambiar el código del exportador OBJ para que incluya los colores de los vértices (rompiendo así la compatibilidad obj).
Existe un sabor de * .obj de Wavefront que facilita la coloración de vértices. Conozco dos aplicaciones que pueden exportarlas, a saber, "MeshLab" (gratis) y "MeshMixer" (también libre de Autodesk). Los colores de los vértices se encuentran realmente justo después de cada definición de vértice como se muestra a continuación.
(Pieza de * .obj)
####
#
# OBJ File Generated by Meshlab
#
####
# Object VERTEXPAINT_004_OBJ.obj
#
# Vertices: 284
# Faces: 281
#
####
mtllib ./VERTEXPAINT_004_OBJ.obj.mtl
vn 0.029683 0.730087 -0.682709
v 1220.094482 -572.500000 177.713943 0.984314 0.764706 1.000000
# "3 vals for Vert and 3 vals for Col"
vn 0.000000 0.858139 -0.513418
v 1291.571533 -609.439636 -28.628490 0.921569 0.219608 1.000000
vn 0.303129 0.896367 -0.323480
Intente usar meshlab para generar "oclusión ambiental basada en vértices", luego ábralo con "MeshMixer".
Esto debería aclarar su problema ... Creo que la coloración de vértices está volviendo con el advenimiento de los sombreadores ... Es curioso cómo la coloración de vértices parece descuidarse cuando se descubrieron los mapas de imágenes ... ¡Ahora deberíamos ver el regreso de "Vertex Coloring"! ¡Avísame si esto fue útil!
v
especificación de posición del vértice. Una forma inteligente de (con suerte) no romper la compatibilidad con los analizadores OBJ existentes.
Wavefront OBJ admite materiales , que agrupan grupos de mallas del mismo color.
Las declaraciones materiales se ven así:
newmtl redMtl
Kd 1.00 0.00 0.00
Ks 0.50 0.50 0.50
Ns 18.00
Entonces, Kd es el componente difuso, Ks especular.
Estos se especificarían dentro de un archivo .mtl que acompaña al archivo .obj. Dentro del archivo .obj hay declaraciones como
usemtl redMtl
f 1/5/1 30/39/2 20/29/3
f 20/29/4 30/39/5 31/41/6
f 35/48/7 26/35/8 2/6/9
Esto significa que las caras especificadas allí deben usar el material redMtl. Cuando analiza el archivo obj, esto se traduce en color por vértice.
Si hay muchos colores diferentes, tendrá muchos materiales diferentes, pero puede hacerlo.
Aquí hay un video de cómo asignar a un grupo particular de caras un material diferente . Puede asignar un material diferente a cada cara en una malla si lo desea.