一辺の大きさが1の立方体を追加する (Python for Blender クックブック)
Pythonを使ってBlenderでできる事をまとめています。解説もあります。
Pythonの難易度: ★☆☆☆☆
動機
普通の立方体追加で追加される立方体は一辺の長さが2です。
スクリプトを使うことで、最初から長さ1の立方体を追加してみましょう。
細かい仕様
- オブジェクトモードのとき、一辺の長さが1の立方体を追加してください。
- スケールは1にしてください。
- 3Dカーソルの位置に立方体を追加してください。
サンプルコード
import bpy
bpy.ops.mesh.primitive_cube_add(radius=0.5)
上記サンプルコードを、Blender内蔵のテキストエディタに貼り付けた後、Alt-Pを実行してください。
解説
import bpy
PythonからBlenderを使うにはbpy
というライブラリを使います。
例えば、bpy.ops
にはBlenderで編集するための関数が入っています。
内蔵Python Consoleで実行するときは既にimportされていますが、テキストエディタや外部ファイルの時はimport
文が必要です。
bpy.ops.mesh.primitive_cube_add(radius=0.5)
まず、Shift-Aから、立方体を追加してみましょう。(被るので適宜消してください)
次に、infoバーを引き下げると現れるコマンド履歴を見てみてください。
bpy.ops.mesh.primitive_cube_add(radius=1, view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
というコマンドがあると思いますので、コピーしてBlender内蔵のPython Consoleに貼り付けてください。
すると、先ほどと同じ位置に同じ大きさの立方体が追加されました。
今度は、
bpy.ops.mesh.primitive_cube_add(
のように、閉じカッコなしで貼り付けたあと、AutoComplete
を押してください。すると、
>>> bpy.ops.mesh.primitive_cube_add(
primitive_cube_add()
bpy.ops.mesh.primitive_cube_add(radius=1, calc_uvs=False, view_align=False,
enter_editmode=False, location=(0, 0, 0), rotation=(0, 0, 0),
layers=(False, False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False
))
のように、様々な引数とそのデフォルト値が表示されます。
引数 | 内容 | 型 |
---|---|---|
radius | 立方体の大きさ | float |
calc_uvs | UVを自動生成するか | bool |
view_align | 立方体の配置を視点と合わせるか | bool |
enter_editmode | 追加後、編集モードに切り替えるか | bool |
location | 座標 | floatのtuple(長さ3) |
rotation | 回転 | floatのtuple(長さ3) |
layers | どのレイヤーに追加するか(Trueのレイヤーにだけ追加) | boolのtuple(長さ20) |
この中で大きさに関係するのは、radius
ですが、デフォルト値の1では2倍も大きすぎます。
これを半分にすると、一辺の大きさが1の立方体が追加できます。
bpy.ops.mesh.primitive_cube_add(radius=0.5)