Итоговый проект по второй части
I have created a tool in the 3D viewport, which has 3 basic modifier buttons and a button to remove all modifiers. I also have a couple of questions for you as a specialist. How do you rate the profession of a technical artist? Is it a good profession for the future? Is there a chance for someone like me to become a technical artist?
And here is the project code:
import bpy
import math
class BevelAdd(bpy.types.Operator):
bl_idname = 'object.my_bevel_add'
bl_label = 'BevelAdd'
bl_options = {'REGISTER', 'UNDO'}
def execute(self,context):
obj = context.object
if obj and obj.type == 'MESH':
bpy.ops.object.modifier_add(type='BEVEL')
bpy.context.object.modifiers["Bevel"].angle_limit = math.radians(20)
else:
self.report({'WARNING'}, 'Select a mesh object')
return {'FINISHED'}
class WireFrameAdd(bpy.types.Operator):
bl_idname = 'object.my_wireframe_add'
bl_label = 'WireFrameAdd'
bl_options = {'REGISTER', 'UNDO'}
def execute(self,context):
obj = context.object
if obj and obj.type == 'MESH':
bpy.ops.object.modifier_add(type='WIREFRAME')
bpy.context.object.modifiers["Wireframe"].thickness = 0.1
else:
self.report({'WARNING'}, 'Select a mesh object')
return {'FINISHED'}
class SolidifyAdd(bpy.types.Operator):
bl_idname = 'object.my_solidify_add'
bl_label = 'SolidifyAdd'
bl_options = {'REGISTER', 'UNDO'}
def execute(self,context):
obj = context.object
if obj and obj.type == 'MESH':
bpy.ops.object.modifier_add(type='SOLIDIFY')
bpy.context.object.modifiers["Solidify"].thickness = 0.1
else:
self.report({'WARNING'}, 'Select a mesh object')
return {'FINISHED'}
class DeleteAllMod(bpy.types.Operator):
bl_idname = 'object.delete_my_mod_all'
bl_label = 'DeleteAllMod'
bl_options = {'REGISTER', 'UNDO'}
def execute(self, context):
bpy.ops.object.delete_all_modifiers()
return {'FINISHED'}
class MY_PT_3DViewPanel(bpy.types.Panel):
bl_label = "My Modifiers"
bl_idname = "MY_PT_3DViewPanel"
bl_space_type = "VIEW_3D"
bl_region_type = "UI"
bl_category = "Modifiers"
def draw(self, context):
layout = self.layout
layout.operator("object.my_bevel_add", text = "Add Bevel")
layout.operator("object.my_wireframe_add", text = "Add Wireframe")
layout.operator("object.my_solidify_add", text = "Add Solidify")
layout.operator("object.delete_my_mod_all", text = "Delete Modifiers")
def register():
bpy.utils.register_class(BevelAdd)
bpy.utils.register_class(WireFrameAdd)
bpy.utils.register_class(SolidifyAdd)
bpy.utils.register_class(DeleteAllMod)
bpy.utils.register_class(MY_PT_3DViewPanel)
def unregister():
bpy.utils.unregister_class(BevelAdd)
bpy.utils.unregister_class(WireFrameAdd)
bpy.utils.unregister_class(SolidifyAdd)
bpy.utils.unregister_class(DeleteAllMod)
bpy.utils.unregister_class(MY_PT_3DViewPanel)
if __name__ == '__main__':
register()
2
2 comments
Виктор Руф
2
Итоговый проект по второй части
CG Python Academy
skool.com/cgpython
3D artists learning Blender Python.
Leaderboard (30-day)
Powered by