プリミティブメッシュを操作しよう

プリミティブメッシュを操作しよう

Python で始める Blender6

公開日: 6/23/2019

更新日: 8/17/2019

読了目安:

6

Python で始める Blenderの前回の記事

Blender の光源を操作しよう

Python で始める Blenderの次回の記事

Python で始める Blenderの最新の記事です

更新履歴
  • 2019/08/17: 記事の内容を Blender 2.80 に対応させました。
BlenderをPythonで操作するシリーズ第 6 回です。
今回はプリミティブメッシュの紹介をします。 光源と同じように幾つかの種類があるので、 今回はそれらの紹介に留め、 それぞれのプロパティや引数の値でどの様に形状が変化するのかは、 個別記事で紹介します。

プリミティブメッシュとは

3D モデルはポリゴンを組み合わせて形成されますが、 ポリゴンの集まりのことをメッシュと呼びます。 Blender では、例えば球体や円柱など、 頻繁に使う形状のメッシュを予めプリミティブメッシュとして用意しています。
プリミティブメッシュを作成する関数は、bpy.ops.mesh にまとめられています。 プリミティブメッシュは全部で 10 個あり、 それぞれについて生成用の関数があります。
それぞれの関数の引数については、個別記事で紹介します。

移動と回転

上で示した関数を用いて生成したプリミティブメッシュも、 生成したメッシュに対応する Object クラスのインスタンスを通して、 location プロパティと rotation_euler プロパティで移動と回転を行えます。
取得する方法は、今までのように bpy.data.objects から探して取得するのでも良いですし、 プリミティブメッシュを生成する関数を実行した直後ならば、 bpy.context.selected_objects[0] で取得できます。
bpy.context.selected_objects には、 選択中のオブジェクトのリストがセットされています。 リストになっていることから分かる通り、 オブジェクトは複数選択することができます。 プリミティブメッシュは、 選択された状態で生成されるのか、 生成直後に選択されるのかは分かりませんが、 生成直後は選択された状態にあります。 ですので通常は、 生成されたメッシュはこのリストの最初の要素となっています。
bpy.data.objects から探す方法と比べて、 生成されたメッシュの名前を知る必要がないので、 この方法のほうが手軽で良いと思います。

サンプル画像

紹介したプリミティブメッシュの一部をレンダリングしたので、参考にして下さい。

Cone

Cone

Cylinder

Cylinder

ICO Sphere

Ico_Sphere

UV Sphere

Uv_Sphere

Torus

Torus

Plane

Plane

最後に

今回はここまでです。 次回からは光源やプリミティブメッシュの各要素の個別記事を書いていきます。
ですので、シリーズとするのもここで一度区切ろうと思います。 まだまだ Blender の機能の殆どを説明できていませんが、 ここまでで一応、 カメラと光源を操作して、 模式図を書くのに十分な位にはメッシュを扱えるようになっていると思うので、 手元で色々遊んでみて下さい。

Rafka
Rafka

Software Engineer

ドラクエ7 Reimagined めっちゃ面白いです!ラストダンジョン手前で止まってます!

Python で始める Blenderの前回の記事

Blender の光源を操作しよう

Python で始める Blenderの次回の記事

Python で始める Blenderの最新の記事です

関連記事