2019-01-01から1年間の記事一覧

メッシュの細分【第 13 回 Python × Blender】

今回はメッシュの細分(subdivision)について書きたいと思います。 以下のサンプルスクリプトは、立方体のある面を細分するスクリプト例となっています。

メッシュの押し出し【第 12 回 Python × Blender】

今日はメッシュの押し出し(extrude)について書きたいと思います。 今回のサンプルスクリプトは、正十二面体の面のいくつかを、その面の法線方向に押し出す Python スクリプトです。

基本的なメッシュ変形【第 11 回 Python × Blender】

前回 Blender の 3D オブジェクトのメッシュ(頂点・辺・面)の選択方法について書きました。 tamaki-py.hatenablog.com 今回はその選択したメッシュに対し基本的な変換(移動・回転など)を施してみたいと思います。 実は、第 7 回で説明したオブジェクトの…

3D オブジェクトの頂点・辺・面の選択【第 10 回 Python × Blender】

bmeshオブジェクトから頂点(vertex)・辺(edge)・面(face)のいくつかを個別に選択するにはBMesh.verts, BMesh.edges, BMesh.facesのブール値を変更します。 以下は正十二面体オブジェクトを定義して配置し、そのうちいくつかの頂点・辺・面を選択する P…

bmesh オブジェクトのインスタンス化【第 9 回 Python × Blender】

Blender においてbmeshオブジェクトは、他のコアデータ構造に比べて非常にメモリを食い計算コストが高いものです。 効率性を維持するために、Blender ではユーザーが各種データやインスタンスの管理を API を用いてしなくてはなりません。 以下の Python ス…

編集モード【第 8 回 Python × Blender】

これまでの第 1~7 回の記事でお話ししてきた Blender のモードはオブジェクトモード(Object Mode)と呼ばれるものです。 このモードでは一つないしは複数のオブジェクトを作ったり、選択して(同時に)操作することができます。例えば複数のオブジェクトを…

bpy.ops.transform による変換【第 7 回 Python × Blender】

今回はbpy.ops.transformによる変換についての記事です。 まずは以下のut.pyという Python スクリプトを Blender で実行してみてください。このスクリプトのif __name__ == "__main__"以下の部分はbpy.ops.transformを説明するためのスクリプト例です。

擬循環参照【第 6 回 Python × Blender】

今回は Blender の Python API の素晴らしい設計の特徴の一つを見たいと思います。 モジュール性・拡張性・自由な抽象化を目指すために、bpyモジュールは無限のネスト構造が可能となっています。 これが今回紹介したいbpyモジュールの擬循環参照(pseudo-cir…

オブジェクトの specification【第 5 回 Python × Blender】

今回の内容は、前々回の記事『オブジェクトの選択【第 3 回 Python × Blender】』 tamaki-py.hatenablog.com そして前回の記事『オブジェクトのアクティブ化【第 4 回 Python × Blender】』 tamaki-py.hatenablog.com に関連しています。 Blender のオブジェ…

オブジェクトのアクティブ化【第 4 回 Python × Blender】

今回は前回の記事『オブジェクトの選択【第 3 回 Python × Blender】』の記事に関連しています。 tamaki-py.hatenablog.com Blender にはオブジェクトの選択(selection)というというオブジェクトに対する操作・データアクセス法以外にも、オブジェクトのア…

オブジェクトの選択【第 3 回 Python × Blender】

今回は Blender のオブジェクトを Python スクリプトで選択する方法について書いていきたいと思います。 Blender のオブジェクトは一度に複数選択することができ、それらを一斉に操作することも可能です。 色々実験していくために、まず拙記事『Python で Bl…

bpy モジュールのオーバビュー【第 2 回 Python × Blender】

Blender のユーザーインターフェースの動作は全て Blender の Python 関数の結果です。 それゆえに Blender のユーザーは Python スクリプトやコンソールによって、インターフェースの動作を制御することが可能となっています。 今回オーバービューする Blen…

Python で Blender を動かすには?はじめの一歩 for Mac【第 1 回 Python × Blender】

Python で Blender を動かして、3DCG の数学的な図形を作ったりアニメーションしたい… と思い始めいろいろ調べていく中で、まず Python で Blender を動かすには一手間必要だということが分かりました。 今回はまず、どのように Python で Blender を動かす…