@@ -945,6 +945,7 @@ def set_paired(self, value):
945
945
return
946
946
947
947
if obj .pose .bones [value ].rigify_parameters .paired_eye != name :
948
+ obj .pose .bones [value ].rigify_parameters .clustered_eye = False
948
949
obj .pose .bones [value ].rigify_parameters .paired_eye = name
949
950
950
951
def get_paired (self ):
@@ -953,6 +954,14 @@ def get_paired(self):
953
954
else :
954
955
return ''
955
956
957
+ class EyeName (bpy .types .PropertyGroup ):
958
+ name = bpy .props .StringProperty ()
959
+
960
+ bpy .utils .register_class (EyeName )
961
+
962
+ IDStore = bpy .types .WindowManager
963
+ IDStore .other_eyes = bpy .props .CollectionProperty (type = EyeName )
964
+
956
965
params .set_paired = set_paired
957
966
params .get_paired = get_paired
958
967
@@ -980,8 +989,20 @@ def parameters_ui(layout, params):
980
989
r = layout .row ()
981
990
r .prop (params , "clustered_eye" )
982
991
992
+ id_store = bpy .context .window_manager
993
+
994
+ for i in range (0 , len (id_store .other_eyes )):
995
+ id_store .other_eyes .remove (0 )
996
+
997
+ bones = bpy .context .active_object .pose .bones
998
+ for t in bones :
999
+ if t .rigify_type == 'experimental.bendy_eye' :
1000
+ id_store .other_eyes .add ()
1001
+ id_store .other_eyes [- 1 ].name = t .name
1002
+
983
1003
r = layout .row ()
984
- r .prop (params , "paired_eye" )
1004
+ r .prop_search (params , "paired_eye" , id_store , "other_eyes" , text = "Paired eye" , icon = 'BONE_DATA' )
1005
+
985
1006
if params .clustered_eye :
986
1007
r .enabled = False
987
1008
0 commit comments