有時候需要在 Blender 中建立一些 Mesh 進行下步操作,這個資料的來源是多要的,甚至可能是網絡傳輸過來的 Mesh 的資訊,是以需要在腳本中動态的建立 Mesh,這裡簡單記錄一些如何在 Blender 的腳本中建立 Mesh。
https://github.com/MangoWAY/BlenderDemo/tree/main/createMesh
import bpy
# 首先定義頂點的資訊
verts = [
(1.0, 1.0, -1.0),
(1.0, -1.0, -1.0),
(-1.0, -1.0, -1.0),
(-1.0, 1.0, -1.0),
(1.0, 1.0, 1.0),
(1.0, -1.0, 1.0),
(-1.0, -1.0, 1.0),
(-1.0, 1.0, 1.0)
]
# 定義面索引,這裡用的不是三角形,而是多邊形,對應正方體的 6 個面
faces = [
(0, 1, 2, 3),
(4, 7, 6, 5),
(0, 4, 5, 1),
(1, 5, 6, 2),
(2, 6, 7, 3),
(4, 0, 3, 7)
]
# 建立 mesh 對象
mesh_data = bpy.data.meshes.new("cube_mesh_data")
mesh_data.from_pydata(verts, [], faces)
mesh_data.update()
# 建立 object 對象
obj = bpy.data.objects.new("My_Object", mesh_data)
# 将 object 放進 某個 Collection 中
col = bpy.data.collections["Collection"]
col.objects.link(obj)