BlenderでOBJファイル(ジオメトリ形式)へエクスポートします。
| 準備するもの |
|
takk@deb83:~$ cat bl-export.sh
1 #!/bin/bash
2 cat <<EOL>/tmp/tmp.py
3
4 import bpy
5
6 bpy.data.objects['Cube'].location=(5,3,1)
7
8 bpy.ops.export_scene.obj(filepath='wavefront.obj')
9
10 EOL
11 blender -P /tmp/tmp.py
takk@deb83:~$ . bl-export.sh

エクスポートしたOBJファイルを確認してみます。
takk@deb83:~$ cat -n wavefront.obj
1 # Blender v2.72 (sub 0) OBJ File: ''
2 # www.blender.org
3 mtllib wavefront.mtl
4 o Cube
5 v 6.000000 0.000000 -4.000000
6 v 6.000000 0.000000 -2.000000
7 v 4.000000 0.000000 -2.000000
8 v 4.000000 0.000000 -4.000000
9 v 6.000000 2.000000 -4.000000
10 v 6.000000 2.000000 -1.999999
11 v 4.000000 2.000000 -2.000000
12 v 4.000000 2.000000 -4.000000
13 usemtl Material
14 s off
15 f 1 2 3 4
16 f 5 8 7 6
17 f 1 5 6 2
18 f 2 6 7 3
19 f 3 7 8 4
20 f 5 1 4 8
5行目〜12行目までがCubeの頂点座標(X,Y,Z)(Blenderの座標で(X,-Z,Y)になります。
takk@deb83:~$ sed -e '/^v/s/\([1-9]\)\./0\.\1/g' -i wavefront.obj
takk@deb83:~$ cat -n wavefront.obj
1 # Blender v2.72 (sub 0) OBJ File: ''
2 # www.blender.org
3 mtllib wavefront.mtl
4 o Cube
5 v 0.6000000 0.000000 -0.4000000
6 v 0.6000000 0.000000 -0.2000000
7 v 0.4000000 0.000000 -0.2000000
8 v 0.4000000 0.000000 -0.4000000
9 v 0.6000000 0.2000000 -0.4000000
10 v 0.6000000 0.2000000 -0.1999999
11 v 0.4000000 0.2000000 -0.2000000
12 v 0.4000000 0.2000000 -0.4000000
13 usemtl Material
14 s off
15 f 1 2 3 4
16 f 5 8 7 6
17 f 1 5 6 2
18 f 2 6 7 3
19 f 3 7 8 4
20 f 5 1 4 8
では置換したOBJファイルをインポートします。
takk@deb83:~$ cat bl-import.sh
1 #!/bin/bash
2 cat <<EOL>/tmp/tmp.py
3
4 import bpy
5
6 bpy.ops.object.delete()
7
8 bpy.ops.import_scene.obj(filepath='wavefront.obj')
9
10 EOL
11 blender -P /tmp/tmp.py
takk@deb83:~$ . bl-import.sh


コメント