Antworten:
Blender kann PLY-Dateien (.ply) exportieren, die auf Text basieren, sehr einfach zu analysieren sind und Scheitelfarben enthalten. Die Schwierigkeit besteht darin, den OBJ-Exportcode so zu ändern, dass er die Scheitelpunktfarben enthält (wodurch die Kompatibilität mit dem Objekt beeinträchtigt wird).
Es gibt eine Variante von Wavefronts * .obj, die Vertex Coloring erleichtert. Ich kenne zwei Anwendungen, die diese exportieren können, nämlich "MeshLab" (kostenlos) und "MeshMixer" (ebenfalls kostenlos von Autodesk). Die Vertex-Farben werden tatsächlich gefunden Direkt nach jeder Scheitelpunktdefinition (siehe unten).
(Stück * .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
Versuchen Sie, mit meshlab "Vertex Based Ambient Occlusion" zu erzeugen, und öffnen Sie es dann mit "MeshMixer".
Dies sollte Ihr Problem klären. Ich denke, die Vertex-Färbung kehrt mit dem Aufkommen von Shadern zurück. Es ist lustig, wie die Vertex-Färbung vernachlässigt zu werden scheint, als Imagemaps entdeckt wurden. Jetzt sollten wir die Rückkehr von "Vertex-Färbung" sehen! Lassen Sie mich wissen, ob dies nützlich war!
v
Scheitelpunktpositionsspezifikation liegen. Clevere Möglichkeit, die Kompatibilität mit vorhandenen OBJ-Parsern (hoffentlich) nicht zu beeinträchtigen.
Wavefront OBJ unterstützt Materialien , die Farbgruppen von Maschen in der gleichen Farbe.
Wesentliche Aussagen sehen so aus:
newmtl redMtl
Kd 1.00 0.00 0.00
Ks 0.50 0.50 0.50
Ns 18.00
Kd ist also die diffuse Komponente, Ks specular.
Diese werden in einer MTL-Datei angegeben, die der OBJ-Datei beiliegt. In der .obj-Datei befinden sich Anweisungen wie
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
Dies bedeutet, dass die dort angegebenen Flächen das redMtl-Material verwenden sollen. Wenn Sie die obj-Datei analysieren, wird dies in eine Farbe pro Scheitelpunkt übersetzt.
Wenn es viele verschiedene Farben gibt, werden Sie viele verschiedene Materialien haben, aber Sie können es tun.
Hier sehen Sie ein Video, wie Sie einer bestimmten Gruppe von Gesichtern ein anderes Material zuweisen . Wenn Sie möchten, können Sie jeder Fläche in einem Netz ein anderes Material zuweisen.