Home Website Youtube GitHub

[Solved] Control tag relative: Can't find reference for object

Hello guys,

I’ve been getting errors when building “control_01” components that seem to corrupt the guides altogether in some situations. When building, I get the following warning message
“Control tag relative: Can’t find reference for object : root_C0.root”
Joints : ressourcepod_L1 (control_01)
// The parent components for: ressourcepod_L1 don’t have joint List in any of them use the root off guide. //

So far this is fine as the build will still generate, but the hierarchy of the said components will not be accurate. (the bones wouldn’t be child of the root_C0.root in this particular case.)

Furthermore, if I try to delete this component (not necessary anymore) now shifter will completely stop the rig generation as this warning comes up :
= GUIDE VALIDATION ==============================================
Checking guide
Get options
Get controllers
Get components
Object missing : ressourcepod_L1_root
# Traceback (most recent call last):
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\guide_manager.py”, line 62, in build_from_selection
# rg.buildFromSelection()
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter_init_.py”, line 186, in buildFromSelection
# self.guide.setFromSelection()
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\guide.py”, line 364, in setFromSelection
# self.setFromHierarchy(node, node.hasAttr(“ismodel”))
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\guide.py”, line 404, in setFromHierarchy
# self.findComponentRecursive(root, branch)
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\guide.py”, line 584, in findComponentRecursive
# self.findComponentRecursive(child)
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\guide.py”, line 584, in findComponentRecursive
# self.findComponentRecursive(child)
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\guide.py”, line 574, in findComponentRecursive
# comp_guide.setFromHierarchy(node)
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\component\guide.py”, line 284, in setFromHierarchy
# self.size = self.getSize()
# File “C:\Users\frede\OneDrive\Documents\maya\modules\scripts\mgear\shifter\component\guide.py”, line 796, in getSize
# d = vector.getDistance(self.pos[“root”], pos)
# KeyError: ‘root’

Which means that I cannot build my rig anymore without having this component in my scene. I tried renaming the component to see if any new errors would pop up and what happens is, it will store the new name and give me the same “Object missing” error, so I’m then stuck with 2 components I absolutely need to have for Shifter to build my rig.

Any cues would be much appreciated. Will gladly share the guide if needed

I’m running mGear 3.6.0 - Maya 2020

Control tag relative: Can’t find reference for object : root_C0.root

Without looking at your scene, it’s a bit hard to tell. Sharing the guide would certainly help.

But perhaps you have one of these problems:

  • Do you have a node specified in your space switch options that no longer exists? (Or doesn’t have a unique name) - Check your ikRefArray options in the guide.
  • Did any of your nodes get renamed to something like ressourcepod_L1_L1_root instead of ressourcepod_L1_root? There used to be an old bug that would mess up the guide names.
  • Did you manually rename or duplicate any guides? This would result in non-unique names. When you use the Shifter duplicate command, or rename it using the guide UI, it handles these name changes correctly. Doing it manually can mess things up.

What makes you suspect the guides have become “corrupted”?

Hi Chris, thank you for the quick reply!

the ikRefArray options are all empty. (I’m saying all because I have 3 components with the same settings)
Running through the outliner, I’m not seeing any issues with the naming. I did use the Duplicate option from mGear to duplicate my original component.

It’s probably not corrupted and my wording is probably off. It’s a bit hard for me to diagnose in depth as my knowledge in scripting is close to non existant (apologies!) All I can say is that whenever I either try to rename the component from the settings window or simply remove it, something remains in the hierarchy that keeps me from building the rig altogether

I did notice that there’s a controlBuffer curve in the hierarchy under the controllers_org that isn’t present in the other instances of the components (ressourcepod_L1_root_controlBuffer seems like an issue). I tried deleting it but it didn’t fix my problem and Shifter still couldn’t build the rig afterwards. Here’s a screengrab of my outliner. If this isn’t saying anything I will upload a copy of the scene ^^

My outliner


ressourcepod_L1

Again, your help is much appreciated ^^

Going through the list I just realized that root_C0_root wasn’t inside the controllers_org grp. Moving it in and then deleting the ressourcepod_L1_root_controlBuffer fixed my issue ^^.(silly me!)

For the sake of this error not happening again, any clue as to what operation could’ve moved the root outside the controllers_org ?

1 Like

No node is required to be inside controllers_org. If any node does not have a corresponding controlBuffer, then it will just use default control icons when it builds.

But I see that resourcepod_L1_sizeRef was underneath the ressourcepod_L1_root_controlBuffer node. So it seems there was a name that wasn’t unique, because there was a child with the same name underneath another node somewhere. And when you deleted that node, the extra child disappeared, and fixed the unique-name problem.

Usually the controlBuffer nodes should not have any children. How that happened, I couldn’t say. Maybe an accidental replaceShape command.

1 Like

Correct, sometimes having wrong date under the controllers_org can cause some funky errors