無料の3DCGソフトであるBlenderは、Pythonを使うことで作業の効率化や機能の拡張を行えます。
本記事では、Pythonを使ってBlenderで作成したオブジェクトを操作する方法について紹介します。BlenderとPythonを組み合わせるメリットや、どのようなことができるようになるのかについて知りたい方は、ぜひ参考にしてみてください。
PythonでBlenderを操作するメリット

PythonでBlenderを操作することには、以下のようなメリットがあります。
- 作業が効率化する
- 再利用性が高い
- 機能を拡張できる
- 学習コストが低い
これらのメリットについて確認していきましょう。
①作業が効率化する
Pythonを使うと、Blenderで繰り返し行う操作を自動化できるため、作業時間を大幅に短縮できます。モデルの生成やアニメーションの作成、オブジェクトの編集などをスクリプトで自動化可能です。
②再利用性が高い
作成したPythonスクリプトは何度でも再利用可能です。さまざまなプロジェクトに流用できるため、動作プログラムを効率的に統一できます。
③機能を拡張できる
Blenderに標準で備わっていない機能でも、Pythonを用いれば追加で実装が可能です。必要に応じてカスタマイズできる柔軟性が大きな魅力です。
また、Blenderの基本操作をまず押さえておきたいという方には、以下の記事がおすすめです。Blenderの画面操作やオブジェクト操作の方法を解説しています。
④学習コストが低い
BlenderとPythonは人気の3DCGソフトとプログラミング言語であるため、情報がたくさんあり、学習コストが低いのが特徴です。
そのため、問題解決が比較的容易で、初心者でもチャレンジしやすいでしょう。
それでも、プログラミングを経験したことがない方にとって、Pythonはなにから学習したらよいのか迷うところでしょう。Python基礎セミナーでは、Pythonコードの書き方を一から学べるので、初心者に特におすすめです。気になる方は、ぜひチェックしてみてください。
BlenderとPythonを組み合わせるとできること
BlenderとPythonの組み合わせで以下のようなことができます。
- 作業の自動化
- UIのカスタマイズ
- スクリプティングとモデリング
これらのできることについて見ていきましょう。
①作業の自動化
Pythonを使えば、キーフレームやボーン操作などを制御して自動化できます。複雑な動きをプログラムすることで、BlenderのGUI操作では難しい高度なアニメーションも作成可能です。
また、レンダリング処理も自動化でき、ファイル出力などに活用できます。
②UIのカスタマイズ
Blenderでは、Pythonを使って自分だけのUIを作成できます。例えば、新しいパネルを作り、数値を入力する欄やボタンを設置するようなことが可能です。
BlenderのUIの構成要素の多くがPythonで作られているため、カスタマイズがしやすいのが特徴です。自分の作業スタイルに合わせたUIを作れば、効率よく作業を進められるでしょう。
③スクリプティングとモデリング
BlenderではPythonを使うことで、3Dモデルを自動で作ったり形を変えたりできます。また、複数のオブジェクトを一度に配置することも可能です。
Pythonを活用すれば自分専用の便利なツールを作れるので、モデリング作業を効率よく進められます。
また、Unityを独学で学びたい方には、Unity公式が提供しているチュートリアルの利用がおすすめです。以下の記事では、Unityでおすすめのチュートリアルや、チュートリアルを利用するメリットなどについて解説しています。
BlenderでPythonスクリプトを使う方法
Blenderでは、Pythonコンソールを使ってPythonスクリプトを書いたり、実行したりできます。Pythonコンソールは、以下の手順で利用できます。
①Scriptingタブを開く

Blender上部のレイアウトから「スクリプト作成」を選択します。すると、Pythonコンソールやテキストエディタが表示される画面に切り替わります。
またBlenderの画面構成や基本的な使い方についてあやふやな方は、Blender基礎セミナーがおすすめです。Blender基礎セミナーなら、Blenderの使い方を一から学べます。実際にモデリングやアニメーションを作成しながら学習できるので、楽しんでスキルを身につけられるでしょう。
②新しいスクリプトを作成する

画面上部にある「新規」ボタンをクリックすると、空のテキストファイルが生成されます。ここにPythonコードを書き込むことができます。
③ファイル名を変更する

生成されたスクリプトはデフォルトで「Text」と名前がついています。分かりやすくするために、上部に表示されている「テキスト」部分をクリックして任意の名前に変更しましょう。
④実行する

コードを書き終えたら、テキストエディタ上部の「実行」ボタンをクリックすると、Blender内でスクリプトが実行されます。
⑤スクリプトを保存する

上部メニューの「テキスト」タブを開き、「名前を付けて保存」を選択すると、作成したPythonスクリプトを外部ファイルとして保存できます。保存しておくことで、次回以降再利用が可能です。
PythonでBlenderのオブジェクトを操作する方法

Blenderでは、Pythonスクリプトを使って3Dオブジェクトを操作できます。以下は、選択したオブジェクトをX軸とY軸方向に移動させる簡単なサンプルコードです。
import bpy
x = 5.0
y = -3.0
objects = bpy.context.selected_objects
for obj in objects:
obj.location.x += x
obj.location.y += y
上記のコードの解説を見ていきましょう。
import bpy
BlenderのPython APIであるbpyを読み込む宣言です。これによってBlender内のオブジェクトやシーンにアクセスできます。
変数xとy
それぞれ「X軸」「Y軸」に移動させる距離を指定しています。ここでは、X方向に+5.0、Y方向に-3.0移動するように設定しています。
bpy.context.selected_objects
現在Blenderで選択されているオブジェクトを取得します。複数選択されていれば、すべての要素を取得できます。
forループ
取得した各オブジェクトの位置を指定した分だけ加算しています。このスクリプトを実行すると、選択中のオブジェクトがX方向へ5.0、Y方向へ-3.0移動します。
Blenderで使えるPythonのプリミティブ関数とは
Blenderには、あらかじめ用意された基本的な3Dモデルを簡単に呼び出せる「プリミティブ関数」があります。
プリミディブ関数の呼び出し方は、以下のとおりです。
| 関数名 | 生成できる形状 |
| primitive_circle_add() | 円 |
| primitive_cone_add() | 円錐 |
| primitive_cube_add() | 立方体 |
| primitive_cylinder_add() | 円柱 |
| primitive_ico_sphere_add() | ICO球 |
| primitive_uv_sphere_add() | UV球 |
| primitive_plane_add() | 平面 |
| primitive_torus_add() | トーラス |
| mesh.primitive_monkey_add() | モンキー |
Blenderのプリミティブ関数を使えば、基本形状をすぐに呼び出して編集できるため、効率的にモデリング作業を進められます。
プリミティブ関数の使い方の例

primitive_circle_add()関数の使い方の具体例を紹介します。
import bpy
bpy.ops.mesh.primitive_circle_add(
radius=2,
vertices=32,
location=(0, 0, 0)
)
「bpy.ops.mesh.primitive_circle_add()」は、サークルを生成するための関数です。関数の「()」に引数を設定することで、細かな調整を行えます。
「radius=2」では、円の半径を指定しており、数値が大きいほど円は大きくなります。
「vertices=32」は、円を構成する頂点の数です。頂点が多いほど滑らかな円になります。
「location=(0, 0, 0)」では、サークルを配置する座標を指定しており、この場合は原点に円が生成されます。これらの引数を組み合わせることで、希望する大きさや形状、配置のサークルをPythonで作成可能です。
BlenderとPythonを学べるおすすめのセミナー
BlenderとPythonは、どちらも専門性の高いソフトとプログラミング言語なので、習得したいならセミナーで学ぶのがおすすめです。
BlenderとPythonの学習ができる以下2つのセミナーについて見ていきましょう。
- Blender基礎セミナー
- Python基礎セミナー
①Blender基礎セミナー

Blender基礎セミナーは、Blenderを使った3DCG制作のノウハウが学べるセミナーです。以下のカリキュラムをこなしながら、Blenderの使い方について学習します。
- 3Dモデル・アニメーションの作成
- マテリアル設定
- スカルプトモデリンク
- テクスチャペイントとUV展開
- 3Dプリンター用データの作成
実務を行う際の過程を学べるので、実際にどのような流れで3DCGが作られているのかを知れるでしょう。
セミナー名 Blender基礎セミナー 運営元 GETT Proskill(ゲット プロスキル) 価格(税込) 27,500円〜 開催期間 2日間 受講形式 対面(東京・大阪)・ライブウェビナー・eラーニング
②Python基礎セミナー

Python基礎セミナーは、未経験からでもPythonの基礎スキルを身につけられる実践形式のセミナーです。以下のカリキュラムを行いながら、Pythonコードの書き方を学びます。
- Pythonの基本文法
- スクレイピングプログラミング
- AIプログラミングの実装
- pandasによるデータ分析
- Opencvによる画像処理
- 自動化プログラムの実装
Pythonの使い方を基礎からじっくり学べるので、プログラミング未経験の方でもPython基礎セミナーなら段階的にスキルアップできるでしょう。
セミナー名 Python基礎セミナー講習 運営元 GETT Proskill(ゲット プロスキル) 価格(税込) 27,500円〜 開催期間 2日間 受講形式 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング
BlenderとPythonについてのまとめ
今回は、BlenderのオブジェクトをPythonで操作する方法について紹介しました。BlenderはPythonを活用することで、作業の自動化や効率化、機能拡張が可能になります。
また、Blenderに用意されたテキストエディタから簡単にスクリプトを作成・実行できるのも魅力です。BlenderとPythonを組み合わせて作業の効率化を図りたい方は、ぜひ本記事の内容を活用してみてください。