[Blender] 在 脚本中创建 Mesh
有时候需要在 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)