回答:
BlenderはPLYファイル(.ply)をエクスポートできます。これはテキストベースであり、解析が非常に簡単で、頂点の色を含みます。難しい方法は、頂点の色が含まれるようにOBJエクスポーターコードを変更することです(そのため、objの互換性が失われます)。
頂点の色付けを容易にするWavefrontの* .objのフレーバーがあります。これらをエクスポートできる2つのアプリケーション、つまり「MeshLab」(無料)と「MeshMixer」(オートデスクからも無料)があります。頂点カラーは実際に見つかりました以下に示すように、各頂点定義の直後。
(* .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
meshlabを使用して「頂点ベースのアンビエントオクルージョン」を生成し、「MeshMixer」で開きます。
これはあなたの問題を明確にするはずです。頂点カラーリングはシェーダーの出現とともに戻ってきていると思います。画像マップが発見されたとき、頂点カラーリングが無視されているように見えるのは面白いです。今、「頂点カラーリング」の戻りが見られるはずです!これが有用かどうか教えてください!
v
。(うまくいけば)既存のOBJパーサーとの互換性を壊さない賢い方法。
Wavefront OBJは、メッシュの色グループが同じ色であるマテリアルをサポートしています。
材料ステートメントは次のようになります。
newmtl redMtl
Kd 1.00 0.00 0.00
Ks 0.50 0.50 0.50
Ns 18.00
したがって、Kdは拡散成分、Ks鏡面反射光です。
これらは、.objファイルに付属する.mtlファイル内で指定されます。.objファイル内には、次のようなステートメントがあります
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
これは、そこで指定された面がredMtlマテリアルを使用することを意味します。objファイルを解析しているとき、これは頂点ごとの色に変換されます。
さまざまな色がたくさんある場合は、さまざまな素材がありますが、それは可能です。
特定の顔のグループに異なるマテリアルを割り当てる方法のビデオを次に示します。必要に応じて、メッシュの各面に異なるマテリアルを割り当てることができます。