nomurabbitのブログ

nomurabbitのブログはITを中心にした技術ブログです。

nomurabbitのブログ

【Blender】Scripting for Artists を勉強してみた Part9【3DCG】

この記事はBlender2.92で、公式チュートリアルScripting for Artistsについて勉強した内容をまとめたものです。


こんにちは!らびです。今回はBlenderScripting for Artistsというチュートリアルを実施していきます。

BlenderPythonを扱う方法です。頑張って勉強していきましょう!


ワークスペースの準備


Scripting for Artists Part9ではPythonスクリプトを使ってオブジェクト頂点、辺、面の数を取得してみます。


まずはLayoutワークスペースを用意して、一番下のエディタをPython Consoleに変更します。コレクションやオブジェクトは全て削除しておきます。


f:id:nomurabbit:20220305055505p:plain

オブジェクトの追加


まずはオブジェクトの追加です。どんなオブジェクトでもOKですが今回はSuzanneさんを追加してみます。

bpy.ops.mesh.primitive_monkey_add()


f:id:nomurabbit:20220305055714p:plain


引数なしだと原点デフォルトのスケールで追加されるジョ。

オブジェクトのメッシュ情報を取得する


次にオブジェクトのメッシュ情報を取得します。下記のスクリプトでは頂点、辺、面の数をそれぞれ取得しています。

len(D.objects['Suzanne'].data.vertices)

len(D.objects['Suzanne'].data.polygons)

len(D.objects['Suzanne'].data.edges)


実行すると、このようになります。


f:id:nomurabbit:20220305060036p:plain


Editモードにしてみると、値が取れていることが確認できます。


f:id:nomurabbit:20220305060117p:plain


オブジェクトをD.objects['Suzanne']のようにオブジェクトの名称で指定しても良いですが、D.objects[0]のように配列のn番目の要素として取得することもできます。


f:id:nomurabbit:20220305060314p:plain

まとめ


以上、BlenderScripting for Artistsについて勉強した内容のまとめPart9でした。


PythonスクリプトからBlenderを眺めることで、よりソフトウェアに対する理解が深まりますね。


次回もぜひご覧ください。では!