Respostas:
O Blender pode exportar arquivos PLY (.ply), baseados em texto, muito fáceis de analisar e incluir cores de vértices. A maneira mais difícil é alterar o código do exportador OBJ para incluir as cores dos vértices (quebrando assim a compatibilidade do obj).
Existe um sabor do * .obj do Wavefront que facilita o Vertex Coloring. Conheço dois aplicativos que podem exportar, como "MeshLab" (gratuito) e "MeshMixer" (também gratuito da Autodesk). As cores dos vértices são realmente encontradas logo após cada definição de vértice, como mostrado abaixo ..
(Pedaço 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
Tente usar o meshlab para gerar "Oclusão ambiental baseada em vértices" e abra-o com o "MeshMixer".
Isso deve esclarecer o seu problema. Acho que a coloração de vértice está voltando com o advento dos shaders. É engraçado como a coloração de vértice parece ser negligenciada quando os mapas de imagens foram descobertos. Agora, devemos ver o retorno de "Vertex Coloring"! Deixe-me saber se isso foi útil!
v
especificação da posição do vértice. Maneira inteligente de (espero) não quebrar a compatibilidade com os analisadores de OBJ existentes.
O OBJ do Wavefront suporta materiais que colorem grupos de malhas da mesma cor.
As declarações materiais são assim:
newmtl redMtl
Kd 1.00 0.00 0.00
Ks 0.50 0.50 0.50
Ns 18.00
Então, Kd é o componente difuso, Ks especular.
Eles seriam especificados dentro de um arquivo .mtl que acompanha o arquivo .obj. Dentro do arquivo .obj há instruções 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
Isso significa que as faces especificadas existem para usar o material redMtl. Quando você está analisando o arquivo obj, isso se traduz em cores por vértice.
Se houver muitas cores diferentes, você terá muitos materiais diferentes, mas poderá fazê-lo.
Aqui está um vídeo de como atribuir um grupo específico de rostos a um material diferente . Você pode atribuir um material diferente para cada face em uma malha, se desejar.