0
如何創建一個段與例如30個verices,然後每綠黨在給定數量綠黨和鉤空的AA段與掛鉤養育在段連接一個空的每一個veritces,所有這通過在Blender 3D中的Python?創建到分段
如何創建一個段與例如30個verices,然後每綠黨在給定數量綠黨和鉤空的AA段與掛鉤養育在段連接一個空的每一個veritces,所有這通過在Blender 3D中的Python?創建到分段
我會說,這是令人沮喪,但嘗試幾種不同的方法後,這是我工作的一種方式。
import bpy
import bmesh
num_verts = 30
scn = bpy.context.scene
D = bpy.data.objects
verts = []
edges = []
for i in range(num_verts):
verts += [(i, 0.0, 0.0)]
if i > 0:
edges += [(i, i-1)]
mesh_data = bpy.data.meshes.new("hooked verts")
mesh_data.from_pydata(verts, edges, [])
mesh_data.update()
obj = D.new("Hooked line", mesh_data)
obj.select = True
scn.objects.link(obj)
scn.objects.active = obj
bpy.ops.object.mode_set(mode='EDIT')
for i in range(len(obj.data.vertices)):
bm = bmesh.from_edit_mesh(obj.data)
bpy.ops.mesh.select_all(action='DESELECT')
bm.verts.ensure_lookup_table()
bm.verts[i].select = True
bpy.ops.object.hook_add_newob()
bpy.context.selected_objects[0].name = 'Hook'
bm.free()
bpy.ops.object.mode_set(mode='OBJECT')
要將鉤子分配到一個頂點,所述對象需要在編輯模式與所選擇的所希望的頂點。看起來,添加鉤子操作員弄亂了編輯網格數據,因此在創建第一個鉤子修改器後,網格數據不再有效。解決方案 - 重新創建bmesh數據並在創建每個鉤子後選擇一個頂點。