2024-04-29 15:43:12 发布
网友
我如何创建一个有30个验证的段,然后通过blender3d中的Python将一个空的带钩子的元素连接到段中的每个verity?在
我要说这是令人沮丧的,但在尝试了几种不同的方法后,这是我开始工作的唯一方法。在
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')
要将钩子指定给顶点,对象需要处于编辑模式并选定所需的顶点。看起来,add hook操作符把编辑网格数据搞得一团糟,这样在创建第一个钩子修改器之后,网格数据就不再有效了。解决方案-重新创建bmesh数据,并在创建每个钩子后选择一个顶点。在
我要说这是令人沮丧的,但在尝试了几种不同的方法后,这是我开始工作的唯一方法。在
要将钩子指定给顶点,对象需要处于编辑模式并选定所需的顶点。看起来,add hook操作符把编辑网格数据搞得一团糟,这样在创建第一个钩子修改器之后,网格数据就不再有效了。解决方案-重新创建bmesh数据,并在创建每个钩子后选择一个顶点。在
相关问题 更多 >
编程相关推荐