【Blender】Scripting for Artists を勉強してみた Part10【3DCG】
この記事はBlender2.92で、公式チュートリアルのScripting for Artistsについて勉強した内容をまとめたものです。
こんにちは!らびです。今回はBlenderのScripting for Artistsというチュートリアルを実施していきます。
BlenderでPythonを扱う方法です。頑張って勉強していきましょう!
ワークスペースの準備
Scripting for Artists Part10ではPythonスクリプトを使ってオブジェクトをsubdivideしてみます。
まずはLayoutワークスペースを用意して、一番下のエディタをPython Consoleに変更します。コレクションやオブジェクトは全て削除しておきます。
オブジェクトの追加
まずはオブジェクトの追加です。今回はCubeを追加してみます。
bpy.ops.mesh.primitive_cube_add()
引数なしだと原点にデフォルトのスケールで追加されるジョ。
オブジェクトのメッシュ情報を取得する
次にオブジェクトのメッシュ情報を取得します。下記のスクリプトでは頂点、辺、面の数をそれぞれ取得しています。
len(D.objects[0].data.vertices) len(D.objects[0].data.edges) len(D.objects[0].data.polygons)
実行すると、このようになります。
メッシュをsubdivideする
追加したCubeオブジェクトのメッシュをsubdivideしてみます。下記のスクリプトを実行します。
bpy.ops.object.mode_set(mode='EDIT') bpy.ops.mesh.select_all(action='SELECT') bpy.ops.mesh.subdivide() bpy.ops.object.mode_set(mode='OBJECT')
一旦Editモードにしてから、全選択、subdivide、Objectモードに戻すといった手順を実行しています。
subdivideした結果を見てみましょう。もう一度下記のスクリプトを実行してメッシュの情報を取得してみます。
len(D.objects[0].data.vertices) len(D.objects[0].data.edges) len(D.objects[0].data.polygons)
スクリプトによってメッシュが細分化されたのがわかります。