0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

3D空間に辺の長さが1の立方体を追加する (Python for Blender クックブック)

Last updated at Posted at 2018-10-29

一辺の大きさが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)
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?