
プリミティブメッシュを操作しよう
Python で始める Blender 第6回
Published: 6/23/2019
Updated: 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 個あり、
それぞれについて生成用の関数があります。primitive_circle_add: 円。引数を指定せずに使用すると辺のみが生成されます。primitive_cone_add: コーン。primitive_cube_add: 立方体。primitive_cylinder_add: 円柱。primitive_grid_add: グリッドメッシュの平面。primitive_ico_sphere_add: 三角面の球体。primitive_monkey_add: 良く見る猿。Suzanneって名前があるそうです。primitive_plane_add: 四角面単体での平面。primitive_torus_add: リング。primitive_uv_sphere_add: 四角面の球体。
それぞれの関数の引数については、個別記事で紹介します。
移動と回転
上で示した関数を用いて生成したプリミティブメッシュも、
生成したメッシュに対応する
Object クラスのインスタンスを通して、
location プロパティと rotation_euler プロパティで移動と回転を行えます。取得する方法は、今までのように
bpy.data.objects から探して取得するのでも良いですし、
プリミティブメッシュを生成する関数を実行した直後ならば、
bpy.context.selected_objects[0] で取得できます。bpy.context.selected_objects には、
選択中のオブジェクトのリストがセットされています。
リストになっていることから分かる通り、
オブジェクトは複数選択することができます。
プリミティブメッシュは、
選択された状態で生成されるのか、
生成直後に選択されるのかは分かりませんが、
生成直後は選択された状態にあります。
ですので通常は、
生成されたメッシュはこのリストの最初の要素となっています。bpy.data.objects から探す方法と比べて、
生成されたメッシュの名前を知る必要がないので、
この方法のほうが手軽で良いと思います。サンプル画像
紹介したプリミティブメッシュの一部をレンダリングしたので、参考にして下さい。
Cone

Cylinder

ICO Sphere

UV Sphere

Torus

Plane

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