1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import bpy
- import bmesh
- def main(context):
- obj = context.active_object
- me = obj.data
- bm = bmesh.from_edit_mesh(me)
- uv_layer = bm.loops.layers.uv.verify()
- # adjust uv coordinates
- for face in bm.faces:
- for loop in face.loops:
- loop_uv = loop[uv_layer]
- # use xy position of the vertex as a uv coordinate
- loop_uv.uv = loop.vert.co.xy
- bmesh.update_edit_mesh(me)
- class UvOperator(bpy.types.Operator):
- """UV Operator description"""
- bl_idname = "uv.simple_operator"
- bl_label = "Simple UV Operator"
- @classmethod
- def poll(cls, context):
- obj = context.active_object
- return obj and obj.type == 'MESH' and obj.mode == 'EDIT'
- def execute(self, context):
- main(context)
- return {'FINISHED'}
- def register():
- bpy.utils.register_class(UvOperator)
- def unregister():
- bpy.utils.unregister_class(UvOperator)
- if __name__ == "__main__":
- register()
- # test call
- bpy.ops.uv.simple_operator()
|