有時候需要在 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)