blender 2.5 スクリプト概要把握用メモ
blender 2.4用のpythonスクリプトを2.5用に書き換えようと思ったら、仕様がごっそり変わってて大変だった件。 大まかな書き方を理解するのに、英語wiki必死に読んだが、英語力なくて死にかけたw とりあえず仕様把握のための備忘録。 ざっくり見た感じなので、かなり不正確だが、とりあえず現行の2.56だと…… bpy bpyモジュールをimportして、その機能を使うことでスクリプトを書くよ。 bpy以外にもgame blender用のbgeモジュールとか、数学ユーティリティとかのモジュールが入ってるスタンドアローンなんちゃらとかってのもあるけど、基本的にはbpyだよ。 bpyの下には、様々なクラスが格納してある、 bpy.types がある。 これ大事。ここで定義されているクラスのインスタンスを使ってスクリプトを書くことになる。 で、bpyの下に他に何があるかだけど 実際にユーザーが操作しているblenderの現在の状態に触るための bpy.context ※bpy.types.Contextのインスタンス 開かれているblendファイルの中にある、様々なデータに実際に触るための bpy.data ※bpy.types.BlendDataのインスタンス の二つがあって、この辺を操作するのが Operator ※bpy.types.Operatorのサブクラス であり、このOperatorを新たに作ってblenderに登録することが、基本的なスクリプトの書き方になる。 ちなみにあらかじめblenderに入っていたり、スクリプトで登録したOperatorは bpy.ops の下に置かれるので、ここから好きに呼び出して使うことが出来るよ。 あと、この登録されたOperatorを、ユーザーが利用するためのUIを提供するには Menu ※bpy.types.Menuのサブクラス Panel ※bpy.types.Panelのサブクラス ってのがあって、この辺のサブクラスを作って登録することで、メニューとかボタンとかをクリックして使えるようにできるっぽいけど、まだちょっとよく分からない。 なんかOperator自体も Draw() メソッド持ってるっぽいけど、よくわかんないよ。 それか