LoginSignup
1
0

More than 3 years have passed since last update.

BlenderをPythonから扱うときにパラメータがわからない問題

Last updated at Posted at 2020-05-20

BlenderのPython API

BlenderにはPythonのAPIがあり、ドキュメントが公開されている。
なんだ、ドキュメントあるんだったら余裕じゃん、と思ってGUIからパラメータ名を見てドキュメントを検索するも、引っかからないことが多い気がする。

なぜなのか。

単純な話、GUIに表示されているプロパティ名とpython APIでのプロパティ名が異なるからである。

具体例

Point Light

例えば、光源で表示されているPower、これはAPIだとenergyである。いやいやいや。
Radiusはshadow_soft_size。もう何が何だか。

上図の光源を作成するのをコードに落とすと以下のようになる

light_add.py
bpy.ops.object.light_add(type='POINT')
light_obj = bpy.context.active_object
light = light_obj.data
light.color = (1.0, 1.0, 1.0)
light.energy = 10
light.specular_factor = 1.0
light.shadow_soft_size = 0.25

解決方法

solution

どうやって調べればいいかというと、
1. プロパティの上で右クリックしてCopy Data Pathを選択する。あるいは右にあるコマンドを叩く(macOSならShift+Command+C)
2. これをコード上にペーストする。
それだけ。ここにたどりつくのに莫大な時間を費やしたのでここに書いておく。

2020/5/21追記

workspaceをScriptingにしたら、手動で変更した時にコード出てくるのか…。
FreeCADだとデフォルトで下部に表示されたなぁ。自動化しやすくなるのでありがたい。
Scripting workspace
ちなみにcycles.samplesをコードから変更しても適用されないのは何でなんだぜ。(調査中)
別の場所で設定変えてたっぽいorz

1
0
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
1
0