BlenderでOBJファイルをexportする

BlenderでOBJファイル(ジオメトリ形式)へエクスポートします。

準備するもの
  • Linux PC(確認環境はDebian 8.3 Jessie)
  • 端末ウィンドウ(ターミナルソフト)
  • Blender(確認環境はv2.72)
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

bl-obj-001
エクスポートした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

bl-obj-002

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA