Here is the link to the VBScript file for the synoptic view-
Here is the code-
<html>
<body version="2">
<script language="VBScript">
sub Select_All(in_obj,in_mousebutton,in_keymodifier)
dim sel
Set sel = GetValue("SelectionList")
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
SelectMembers myObj.model & ".Key"
end sub
sub Deselect_All(in_obj,in_mousebutton,in_keymodifier)
DeselectAll
end sub
sub Reset_Pose(in_obj,in_mousebutton,in_keymodifier)
dim sel
Set sel = GetValue("SelectionList")
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
ApplyAction myObj.model & ".mixer.ResetPose"
end sub
sub Key_All(in_obj,in_mousebutton,in_keymodifier)
dim sel
Set sel = GetValue("SelectionList")
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
SelectMembers myObj.model & ".Key"
SelectChildNodes
SetMarking "MarkingSet"
SaveKey,GetValue ("PlayControl.Key")
SelectObj sel
end sub
sub Remove_All(in_obj,in_mousebutton,in_keymodifier)
dim sel
Set sel = GetValue("SelectionList")
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
SelectMembers myObj.model & ".Key"
SelectChildNodes
SetMarking "MarkingSet"
RemoveKey,GetValue ("PlayControl.Key")
SelectObj sel
end sub
sub Hide_Ctrls(in_obj,in_mousebutton,in_keymodifier)
dim sel
Set sel = GetValue("SelectionList")
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
SetValue myObj.model & ".Key.viewvis", 0
end sub
sub Unhide_ctrls(in_obj,in_mousebutton,in_keymodifier)
dim sel
Set sel = GetValue("SelectionList")
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
SetValue myObj.model & ".Key.viewvis", 2
end sub
sub Head(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "head_control"
end sub
sub Neck_upper(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "neck_upper_control"
end sub
sub Neck_mid(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "neck_mid_control"
end sub
sub Neck_lower(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "neck_lower_control"
end sub
'---------------------------------------------
' Synoptic Select
'---------------------------------------------
function SynopticSelect (in_obj, inName)
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
if IsComponent(myObj.model & "." & inName) = False then
logmessage "RigSynoptic: " & inName & " not found"
SynopticSelect2 = False
else
GetKeyboardState , modKey
select case CByte(modKey)
case 0 ' "Nothing Selected"
SelectObj myObj.model & "." & inName
case 1 logmessage "Shift"
'check the object isn't already selected
if checkCollision(myObj.model.FindChild(inName)) = False then
AddToSelection myObj.model & "." & inName
end if
case 2 ' "Ctrl"
ToggleSelection myObj.model & "." & inName
case 3 ' "Shift/Ctrl"
RemoveFromSelection myObj.model & "." & inName
case 4 ' "Alt"
SelectObj myObj.model & "." & inName, "BRANCH", True
case 5 ' "Alt/Shift"
'check the object isn't already selected
if checkCollision(myObj.model.FindChild(inName)) = False then
AddToSelection myObj.model & "." & inName, "BRANCH", True
end if
case 6 ' "Alt/Ctrl"
ToggleSelection myObj.model & "." & inName, "BRANCH", True
case 7 ' "Alt/Shift/Ctrl"
RemoveFromSelection myObj.model & "." & inName
end select
end if
end function
'---------------------------------------------
' Synoptic Select 2
'---------------------------------------------
function SynopticSelect2(in_obj, inName)
set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild(in_obj)
if IsComponent(myObj.model & "." & inName) = False then
logmessage "RigSynoptic: " & inName & " not found"
SynopticSelect2 = False
else
SelectObj myObj.model & "." & inName, "BRANCH", True
end if
end function
' Check Selection Collision
'--------------------------------------
function checkCollision(inObj)
dim sel, elem
set sel = GetValue("SelectionList")
SelectChildNodes
for each elem in Selection
if elem = inObj then
checkCollision = True
SelectObj sel
exit function
end if
next
checkCollision = False
SelectObj sel
end function
'--------------------------------------
' Is Component
'--------------------------------------
function IsComponent(in_string)
dim oRoot
IsComponent = True
set oRoot = Application.ActiveProject.ActiveScene.Root
if typename(oRoot.FindChild(in_string)) = "Nothing" then IsComponent = False
end function
sub Right(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_arm_ctrl_parent"
end sub
sub Left_arm(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_arm_ctrl_parent"
end sub
sub Right_foot(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_foot_ctrl"
end sub
sub Left_foot(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_foot_ctrl"
end sub
sub Spine_upper(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "Spine_upper_ctrl"
end sub
sub Spine_mid(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "Spine_mid_ctrl"
end sub
sub Spine_lower(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "Spine_lower_ctrl"
end sub
sub COG(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "COG_parent"
end sub
sub Hip(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "Hip_ctrl"
end sub
sub IK_spine_upper(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "IK_Spine_upper_ctrl_parent"
end sub
sub IK_chest_handle(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "IK_chest_handle"
end sub
sub Ik_hip_handle(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "IK_hip_handle"
end sub
sub IK_spine_lower_ctrl(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "IK_spine_lower_ctrl"
end sub
sub R_FK_wrist(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_wrist_bone"
end sub
sub R_FK_lowerArm(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_lowerarm_bone"
end sub
sub R_Fk_upperarm(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_upperarm_bone"
end sub
sub R_arm_upvector(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_arm_UpVector_ctrl"
end sub
sub R_clavical(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_clavical_ctrl"
end sub
sub L_clavical(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_clavical_ctrl"
end sub
sub L_FK_upperarm(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_upperarm_bone"
end sub
sub L_FK_lowerarm(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_lowerarm_bone"
end sub
sub L_FK_wrist(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_wrist_bone"
end sub
sub L_arm_upvector(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_arm_UpVector_ctrl"
end sub
sub L_knee_poleVector(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_knee_poleVector"
end sub
sub L_leg_poleVector(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "L_leg_poleVector"
end sub
sub R_knee_poleVector(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_knee_poleVector"
end sub
sub R_leg_poleVector(in_obj,in_mousebutton,in_keymodifier)
SynopticSelect in_obj, "R_leg_poleVector"
end sub
</SCRIPT>
<map name="SynopticMap">
<area shape="rect" coords="446,29,566,61" title="" NOHREF onClick="Select_All">
<area shape="rect" coords="444,88,565,119" title="" NOHREF onClick="Deselect_All">
<area shape="rect" coords="444,147,565,178" title="" NOHREF onClick="Reset_Pose">
<area shape="rect" coords="446,208,566,239" title="" NOHREF onClick="Key_All">
<area shape="rect" coords="446,263,566,291" title="" NOHREF onClick="Remove_All">
<area shape="rect" coords="444,319,564,350" title="" NOHREF onClick="Hide_Ctrls">
<area shape="rect" coords="444,375,565,403" title="" NOHREF onClick="Unhide_ctrls">
<area shape="circle" coords="318,25,9" title="" NOHREF onClick="Head">
<area shape="circle" coords="289,35,10" title="" NOHREF onClick="Neck_upper">
<area shape="circle" coords="272,57,10" title="" NOHREF onClick="Neck_mid">
<area shape="circle" coords="249,72,9" title="" NOHREF onClick="Neck_lower">
<area shape="circle" coords="73,175,10" title="" NOHREF onClick="Right">
<area shape="circle" coords="382,207,9" title="" NOHREF onClick="Left_arm">
<area shape="circle" coords="217,530,10" title="" NOHREF onClick="Right_foot">
<area shape="circle" coords="284,511,9" title="" NOHREF onClick="Left_foot">
<area shape="circle" coords="271,167,9" title="" NOHREF onClick="Spine_upper">
<area shape="circle" coords="262,194,10" title="" NOHREF onClick="Spine_mid">
<area shape="circle" coords="258,219,9" title="" NOHREF onClick="Spine_lower">
<area shape="circle" coords="260,248,11" title="" NOHREF onClick="COG">
<area shape="circle" coords="258,276,10" title="" NOHREF onClick="Hip">
<area shape="circle" coords="253,161,7" title="" NOHREF onClick="IK_spine_upper">
<area shape="circle" coords="242,192,7" title="" NOHREF onClick="IK_chest_handle">
<area shape="circle" coords="240,216,8" title="" NOHREF onClick="Ik_hip_handle">
<area shape="circle" coords="243,244,7" title="" NOHREF onClick="IK_spine_lower_ctrl">
<area shape="circle" coords="85,192,10" title="" NOHREF onClick="R_FK_wrist">
<area shape="circle" coords="142,148,9" title="" NOHREF onClick="R_FK_lowerArm">
<area shape="circle" coords="205,106,10" title="" NOHREF onClick="R_Fk_upperarm">
<area shape="circle" coords="159,174,5" title="" NOHREF onClick="R_arm_upvector">
<area shape="circle" coords="239,91,6" title="" NOHREF onClick="R_clavical">
<area shape="circle" coords="305,101,5" title="" NOHREF onClick="L_clavical">
<area shape="circle" coords="306,130,9" title="" NOHREF onClick="L_FK_upperarm">
<area shape="circle" coords="330,177,10" title="" NOHREF onClick="L_FK_lowerarm">
<area shape="circle" coords="370,220,10" title="" NOHREF onClick="L_FK_wrist">
<area shape="circle" coords="309,191,5" title="" NOHREF onClick="L_arm_upvector">
<area shape="circle" coords="341,401,7" title="" NOHREF onClick="L_knee_poleVector">
<area shape="circle" coords="363,401,9" title="" NOHREF onClick="L_leg_poleVector">
<area shape="circle" coords="293,425,8" title="" NOHREF onClick="R_knee_poleVector">
<area shape="circle" coords="313,425,8" title="" NOHREF onClick="R_leg_poleVector">
</map>
<img src="index.jpg" usemap="#SynopticMap">
</body>
</html>