続きです。
エクスポートしたファイルをheadしてみます。頭の方に、座標データが格納されています。
takk@deb9:~/tmp$ head 10x10.obj # Blender v2.79 (sub 0) OBJ File: '' # www.blender.org mtllib 10x10.mtl o Plane v 0.100000 0.000000 9.100000 v 9.100000 0.000000 9.100000 v 0.100000 0.000000 0.100000 v 9.100000 0.000000 0.100000 v 0.100000 0.000000 1.100000 v 0.100000 0.000000 2.100000 takk@deb9:~/tmp$
各行の先頭にvとあるので、きっと頂点座標のデータだと思いますが、念のため、どのようなデータがあるのか確認。10×10のデータなので100行ある情報が頂点座標のデータになりますね。
takk@deb9:~/tmp$ cut -b-2 10x10.obj | uniq -c 2 # 1 mt 1 o 100 v 5 vn 1 us 1 s 81 f takk@deb9:~/tmp$
vから始まる行が100行なので、これが頂点座標のデータということで決まり。
vから始まる行のみ抽出して、整数化したデータに整形します。一か所だけ頂点を真上に伸ばした箇所があるはずです。
takk@deb9:~/tmp$ perl -naE 'if(shift@F eq "v"){@a=map{int$_}@F;say"@a"}' < 10x10.obj 0 0 9 9 0 9 0 0 0 9 0 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 5 0 8 ~省略~ 5 0 7 5 0 6 5 0 5 5 1 4 5 0 3 5 0 2 5 0 1 ~省略~ 8 0 6 8 0 5 8 0 4 8 0 3 8 0 2 8 0 1 takk@deb9:~/tmp$
ありました。5 1 4という座標が、真上に伸ばした座標と思われます。
今確認したデータをファイルへ保存します。
takk@deb9:~/tmp$ !!>out.txt perl -naE 'if(shift@F eq "v"){@a=map{int$_}@F;say"@a"}' < 10x10.obj>out.txt takk@deb9:~/tmp$
次回、このデータを取り込んで3D表示します。
コメント