Parsing FBX Skeleton Nulls for their positions

Hiya,

I’m back on the ol’ custom skinning. I have a mixamo skeleton in an FBX.

I’ve extracted the animation and I’m able to play it back via a GLSL MAT with all the usual pCapt data etc. Bind poses seems to be loading fine also. But I’ve noticed that I’m missing the translations for each of the nulls inside the FBX, so my mesh is all squished into the origin at the moment.

The animation CHOP only gives me the hips, I assume because they’re the only thing that animates. The other nulls are static, but their positions are obviously not 0.

Is there a way for me to parse through the FBX heirarchy to get the translations for each of the nulls inside the FBX? I assume I need that list to position my verts when I do my ‘worldTransform * bindPose’. My assumption is that this is what Phong/PBR MATs do, as they ask for the skeleton root.

If this isn’t the right path, I’d still like to know how to do this anyway, just for curosities sake.

EDIT: Is this just a case of writing some python to do it? :slight_smile:

I hope that makes sense.

All the best,
Jayson

Sorted! Went for this… apologies for play by play :smiley:

fbx = op('Hip_Hop_Dancing')
result = op('tableNulls')

def getMixamos(x):
	return x.name.startswith('mixamo')

result.clear()
result.appendRow(['name', 'val'])

nulls = filter(getMixamos, fbx.children)

for i, n in enumerate(nulls):
	result.appendRow([f'{n.name}:tx', n.par.tx])
	result.appendRow([f'{n.name}:ty', n.par.ty])
	result.appendRow([f'{n.name}:tz', n.par.tz])