Blenderから提供されているBlender Python API (bpy)を用いて、フルテキストで操作するBlenderによる3D CGモデリングとして備忘録的にまとめていきます。
部分的にbpyを用いて手順を簡略化したり、アドオンを実装しているものは見かけますが、全手順をテキストベースで実装しているものについては意外と見かけないので、かなり手探り状態にはなりますが徐々に更新していきます。
上記モデルの作成で、約1万行程度です。
Full TextでBlenderを扱えるようにすることで主に以下の利点が挙げられます。
POINT!
- Gitなどのバージョン管理システム(VCS)で行程/成果物を管理
- 複数人での共同作業
- コピペで他プロジェクトへ流用
- Blender特有の操作感に慣れる手間の削減
- 手順の再現性
- 作成途中段階への変更
Blender設定・環境初期化
Blender 4.2
- 外部ファイルの読み込み設定とimport
- Blenderの設定と環境の初期化
- アイテムの削除、未使用のアイテムの削除
- NoUsedアイテムのCleanUp Purge
- テキストベースモデリングに必須の3D Viewの表示設定など
- preference設定
- すべてのオブジェクトの削除(環境の初期化)
- コンテキストをオーバーライドするための辞書を取得
3Dモデリング
Blender 4.2
- アクティブオブジェクトとして選択
- 面、辺、頂点など要素の選択
- 左半分の頂点を全て選択
- 基本的な変形操作
- オブジェクト回転
- モディファイア
- モディファイア適用
- モディファイア優先順位変更
- ベベル
- Array
- ソリッド化
- ミラー
- コレクションの整理
- ベジエ曲線の操作
- テキストオブジェクト作成
- カーブのメッシュ化
- テキストオブジェクトのメッシュ化
- 円形にオブジェクトを配置
- ピボットを指定してリサイズ(コンテキストの上書き)
UV展開
Blender 4.2
- UV展開(シームによる手動)
- UV展開(自動化)
- ベイク
マテリアル・テクスチャ
Blender 4.2
- マテリアル追加
- マテリアル新規追加
- 既存マテリアル割り当て
- 既存マテリアルのコピー/複製
- ノードの値を変更
- テクスチャ
- テクスチャ追加
- テクスチャノード間のリンク/接続
- ガラスマテリアル設定(Node)
- イメージテクスチャ設定
- UV Editor操作
アニメーション
Blender 4.2
(Pending)
汎用処理
Blender 4.2
- 要素(面、辺、頂点)インデックスの固定 (随時更新)
- 3D カーソルの移動
- 選択した面、辺、頂点のインデックスリスト取得
- 視点切り替え
- 視点変更
- 透過ビューのON/OFF
- プレビューの切り替え
- ファイルのエクスポート(GLTF)
- ファイルのエクスポート(GLB)
- アドオンの読み込みと有効化
- 全適用
関連記事
- Blender
- Three.js
- GLSL
- Unity