Blender 記事の目次
目次
Blender でオブジェクトに対応してマテリアルの色を変える
オブジェクトをリンク複製して、オブジェクトごとに色やアニメーションを変更したいことがある。単純なアニメーションならば、ジオメトリノードを使うのが最適だ。
しかし手動でアニメーションをつけたい場合は、別の方法が必要だ。
Blender の RNA プロパティと ID プロパティとの違い
ID プロパティは生の変数だ。ID プロパティは integer と float と文字列しかサポートしない。
RNA プロパティは ID プロパティのラッパーだ。RNA プロパティを定義すると ID プロパティにさまざまな機能を追加できる。integer をブーリアン型と解釈させたり、数値の最大値・最小値・ステップを設定できたりする。
ID プロパティは .blend ファイルに保存されるが、RNA プロパティ定義は .blend ファイルに保存されない(RNA プロパティのデータは保存される)ので、アドオン(エクステンション)はロード時に毎回 RNA プロパティを定義する必要がある。
例
以下のスクリプトはアクティブオブジェクトに test_id という ID プロパティを作成し -1 を設定する。その後で RNA プロパティで最小値を設定している。
データの設定は data.objects に行っているのに対し、RNA プロパティの定義は types.Object に対して行っていることに注意。
bpy.data.objects['Cube']['test_id'] = -1 bpy.types.Object.test_id = bpy.props.IntProperty(name='test_id', min=0) # この時点では test_id は -1 bpy.data.objects['Cube'].test_id = -1 # この時点では test_id は0 bpy.data.objects['Cube']['test_id'] = -1 # この時点では test_id は -1。インデックスアクセスでは RNA プロパティの恩恵を受けられない
RNA プロパティ
RNA プロパティはアドオン(エクステンション)が使う管理用変数の確保が主な使用方法だ。
class TEST_EXTENSION_Props(bpy.types.PropertyGroup): is_panel_open : bpy.props.BoolProperty(name='is_panel_open', default=True) classes = (TEST_EXTENSION_Props) def register(): for cls in classes: bpy.utils.register_class(cls) bpy.types.Scene.test_extension_props = bpy.props.PointerProperty(type=TEST_EXTENSION_Props) def unregister(): if hasattr(bpy.types.Scene, 'test_extension_props'): del bpy.types.Scene.test_extension_props for cls in reversed(classes): bpy.utils.unregister_class(cls)
RNA プロパティの特徴
RNA は既存のデータ構造を拡張するため、使用前に宣言が必要だ。
物理シムのパラメータ設定
Blender 2.79 の UI スクリプト集
Blender 2.80 ではスクリプトの書き方が大きく変更された。従来のスクリプトは Blender 2.80 では動作しない。古いスクリプトを 2.80 に移植する方法はBlender 2.79 のスクリプトを 2.80 にアップデートするを参照。
Blender 2.79 のスクリプトを 2.80 にアップデートする
この記事は 2019 年 08 月 15 日時点でのReference/Release Notes/2.80/Python APIの翻訳だ。
目次
- 座標系
- 削除されたモジュール
- リネーム
- キーワード強制引数(Keyword Only Arguments)
- 行列の乗算
- テキストのインポート
- オペレーターアップデート
- プロパティアップデート
- Blender のバージョンの比較
- 外部リンク
Blender 2.80 における Python API の変更
Blender 2.80 は過去バージョンの Python API と互換性がない。アドオンやスクリプトを 2.80 で実行するにはアップデートが必要になる。
独立した眉毛やまつ毛をボーンで変形させる
独立したメッシュで眉毛やまつ毛を作ることはよくある。しかしこれらのメッシュは頂点数が少ないことが多く、ボーンで変形させづらい。そのような場合はラティスでメッシュを変形させて、そのラティスをボーン+フックモディフィアで変形させるようにするとうまくいく。
Blender でセルルックを作る方法まとめ
Blender のコレクションエクスポート機能
バージョン 4.2 でコレクションエクスポートが実装された。コレクションエクスポートの利点は以下の2つ。
- エクスポート設定が blend ファイルに保存される
- 一度に複数のエクスポートを実行できる