隅歩つ

書いて理解を深める

Blender PythonAPIでポリゴンを1枚つくる

Blenderポリゴン

Blender PythonAPIの基本のポリゴンを作ってみます。

まだBlender初心者でわからないことが多いのですが、ポリゴンは利用することが増えるのではないかと思っています。

ポリゴンの基本を理解したいと思います。

頂点と面を決める

まずは、頂点をリストに入れます。

verts = [(0, 0, 0), (0, 0, 5), (5, 0, 0)]

次に、面を作ります。

面は頂点を繋いで作ります。
頂点のリスト(ここではverts)から選択します。

faces = [(0, 1, 2)]

そして、mesh、objectを作って、collectionにリンクさせます。

mesh = bpy.data.meshes.new(name)
object = bpy.data.objects.new(name, mesh)
bpy.context.collection.objects.link(object)

この作業の理屈はあまりわかっていません。。

最後に、頂点と面をまとめます。

mesh.from_pydata(verts, [], faces)
mesh.update()

以上です。

PythonAPIでポリゴン作成

コードの全体は以下です。

import bpy


def delete_all():
    for i in bpy.data.meshes:
        bpy.data.meshes.remove(i)


def make_polygon():
    verts = [(0, 0, 0), (0, 0, 5), (5, 0, 0)]
    faces = [(0, 1, 2)]
    name = 'Polygon_01'
    mesh = bpy.data.meshes.new(name)
    object = bpy.data.objects.new(name, mesh)
    bpy.context.collection.objects.link(object)
    mesh.from_pydata(verts, [], faces)
    mesh.update()


if __name__ == '__main__':
    delete_all()
    make_polygon()

yuuuha.hatenablog.com