I’m trying to create a nice User interface for my rig. The problem is I’m not much of a coder, so I have been picking apart several rigs’ UI python files. I can make the bone layers come up without problems, but for some reason I don’t see the sliders just don’t show up. The title does, but the slider does not.
This is the code:
import bpy
class BiffRigProperties(bpy.types.Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Character Properties"
@classmethod
def poll(self, context):
try:
ob = context.active_object
mode = context.mode
return (ob.name == "MTI_rig" and mode == "POSE")
except AttributeError:
return 0
def draw(self, context):
pose_bones = context.active_object.pose.bones
layout = self.layout
col = layout.column()
col.label(text="FK/IK Switches:")
col.prop(pose_bones["master"], '["ArmIK.L"]', text="Arm L", slider=True)
col.prop(pose_bones["master"], '["ArmIK.R"]', text="Arm R", slider=True)
col.prop(pose_bones["master"], '["LegIK.L"]', text="Leg L", slider=True)
col.prop(pose_bones["master"], '["LegIK.R"]', text="Leg R", slider=True)
col.label(text="Follow (Hinge):")
col.prop(pose_bones["master"], '["HeadFollow"]', text="Head", slider=True)
col.prop(pose_bones["master"], '["ArmFKFollow.L"]', text="Arm L", slider=True)
col.prop(pose_bones["master"], '["ArmFKFollow.R"]', text="Arm R", slider=True)
col.prop(pose_bones["master"], '["LegFKFollow.L"]', text="Leg L", slider=True)
col.prop(pose_bones["master"], '["LegFKFollow.R"]', text="Leg R", slider=True)
col.label(text="Head:")
col.prop(pose_bones["master"], '["HeadAim"]', text="Head Look At", slider=True)
col.prop(pose_bones["master"], '["EyesAim"]', text="Eyes Look At", slider=True)
col.label(text="--- Visibility ---")
riglayers = col.row()
riglayers.label(text="Main:")
riglayers.prop(context.active_object.data, "layers", index=0, toggle=True, text="Root")
riglayers.prop(context.active_object.data, "layers", index=1, toggle=True, text="Face")
riglayers = col.row()
riglayers.label(text="Body:")
riglayers.prop(context.active_object.data, "layers", index=2, toggle=True, text="FK")
riglayers.prop(context.active_object.data, "layers", index=3, toggle=True, text="IK")
riglayers = col.row()
riglayers.label(text="Arms:")
riglayers.prop(context.active_object.data, "layers", index=4, toggle=True, text="FK")
riglayers.prop(context.active_object.data, "layers", index=5, toggle=True, text="IK")
riglayers = col.row()
riglayers.label(text="Legs:")
riglayers.prop(context.active_object.data, "layers", index=6, toggle=True, text="FK")
riglayers.prop(context.active_object.data, "layers", index=7, toggle=True, text="IK")
riglayers = col.row()
riglayers.label(text="Other:")
riglayers.prop(context.active_object.data, "layers", index=8, toggle=True, text="Eyes")
riglayers.prop(context.active_object.data, "layers", index=9, toggle=True, text="Hands")
and this is an image of my driver settings and how the UI looks with this code.
The example for this code comes from Denny Lindberg’s “Biff” rig. link.
I started digging through the rigify metarig UI code, (and waylow’s rigs, red neld0.8 and several others) but Biff’s is the simplest and cleanest one imo that works on 2.55.
Can anyone tell me which part is wrong here? How can I get these bloody sliders to show up?