2025-12-01
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# SPDX-FileCopyrightText: 2025 Blender Studio Tools Authors
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import importlib
|
||||
from bpy.utils import register_class, unregister_class
|
||||
from . import bone_gizmo_properties
|
||||
from . import bone_gizmo
|
||||
from . import bone_gizmo_ui
|
||||
from . import bone_gizmo_group
|
||||
from . import operators
|
||||
|
||||
from bpy.props import FloatProperty, IntProperty
|
||||
from bpy.types import AddonPreferences
|
||||
|
||||
bl_info = {
|
||||
'name' : "Bone Gizmos",
|
||||
'author': "Demeter Dzadik",
|
||||
"version": (0, 0, 3),
|
||||
'blender' : (3, 0, 0),
|
||||
'description' : "Mesh-based armature interaction system",
|
||||
'location': "Properties->Bone->Viewport Display->Custom Gizmo",
|
||||
'category': 'Rigging',
|
||||
# 'doc_url' : "https://gitlab.com/blender/CloudRig/",
|
||||
}
|
||||
|
||||
modules = (
|
||||
bone_gizmo_properties,
|
||||
bone_gizmo,
|
||||
bone_gizmo_ui,
|
||||
bone_gizmo_group,
|
||||
operators,
|
||||
)
|
||||
|
||||
class BoneGizmoPreferences(AddonPreferences):
|
||||
bl_idname = __package__
|
||||
|
||||
mesh_alpha: FloatProperty(
|
||||
name = "Mesh Gizmo Opacity"
|
||||
,description = "Opacity of unselected gizmos when they are defined by a vertex group or face map"
|
||||
,min = 0.0
|
||||
,max = 1.0
|
||||
,default = 0.0
|
||||
,subtype = 'FACTOR'
|
||||
)
|
||||
widget_alpha: FloatProperty(
|
||||
name = "Widget Gizmo Opacity"
|
||||
,description = "Opacity of unselected gizmos when they are NOT defined by a vertex group or face map"
|
||||
,min = 0.1
|
||||
,max = 1.0
|
||||
,default = 0.5
|
||||
,subtype = 'FACTOR'
|
||||
)
|
||||
delta_alpha_select: FloatProperty(
|
||||
name = "Gizmo Selected Opacity Delta"
|
||||
,description = "Added Mesh Gizmo opacity when selected"
|
||||
,min = 0.0
|
||||
,max = 0.5
|
||||
,default = 0.2
|
||||
,subtype = 'FACTOR'
|
||||
)
|
||||
delta_alpha_highlight: FloatProperty(
|
||||
name = "Gizmo Highlighted Opacity Delta"
|
||||
,description = "Added Mesh Gizmo opacity when highlighted"
|
||||
,min = 0.0
|
||||
,max = 0.5
|
||||
,default = 0.1
|
||||
,subtype = 'FACTOR'
|
||||
)
|
||||
|
||||
line_width: IntProperty(
|
||||
name = "Line Width"
|
||||
,description = "Thickness of the drawn lines in pixels"
|
||||
,min = 1
|
||||
,max = 10
|
||||
,default = 1
|
||||
)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
layout = layout.column(align=True)
|
||||
layout.prop(self, 'line_width', slider=True)
|
||||
layout.label(text="Gizmo Opacity")
|
||||
layout.prop(self, 'mesh_alpha', text="Mesh")
|
||||
layout.prop(self, 'widget_alpha', text="Widget")
|
||||
layout.prop(self, 'delta_alpha_select', text="Delta Selected")
|
||||
layout.prop(self, 'delta_alpha_highlight', text="Delta Highlighted")
|
||||
|
||||
def register():
|
||||
register_class(BoneGizmoPreferences)
|
||||
for m in modules:
|
||||
importlib.reload(m)
|
||||
if hasattr(m, 'registry'):
|
||||
for c in m.registry:
|
||||
register_class(c)
|
||||
if hasattr(m, 'register'):
|
||||
m.register()
|
||||
|
||||
def unregister():
|
||||
unregister_class(BoneGizmoPreferences)
|
||||
for m in reversed(modules):
|
||||
if hasattr(m, 'unregister'):
|
||||
m.unregister()
|
||||
if hasattr(m, 'registry'):
|
||||
for c in m.registry:
|
||||
unregister_class(c)
|
||||
Reference in New Issue
Block a user