operators.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:yavne 作者: fedackb 项目源码 文件源码
def execute(self, context):
        obj_curr = context.active_object
        mesh = obj_curr.data
        bm = bmesh.from_edit_mesh(mesh)
        normal_buffer = self.addon.preferences.normal_buffer
        vertex_normal_weight_layer = bm.verts.layers.int['vertex-normal-weight']
        vertex_normal_x_layer = bm.verts.layers.float['vertex-normal-x']
        vertex_normal_y_layer = bm.verts.layers.float['vertex-normal-y']
        vertex_normal_z_layer = bm.verts.layers.float['vertex-normal-z']

        # Assign stored world space normal vector to all selected vertices.
        vertex_normal = obj_curr.matrix_world.inverted() * normal_buffer
        for v in [v for v in bm.verts if v.select]:
            v[vertex_normal_weight_layer] = self.vertex_normal_weight_map['UNWEIGHTED']
            v[vertex_normal_x_layer] = vertex_normal.x
            v[vertex_normal_y_layer] = vertex_normal.y
            v[vertex_normal_z_layer] = vertex_normal.z

        # Update the mesh.
        bpy.ops.mesh.yavne_update_vertex_normals()
        bmesh.update_edit_mesh(mesh)

        return {'FINISHED'}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号