Is there a way to setup a direct connection in Motionbuilder?


#1

I am trying to directly connect a null node’s translateY and translateZ animation to a texture node’s translate U and translate V. Using FBConnect doesn’t seem to achieve this. Is there a way to do this, that doesn’t involve setting up a constraint or copying keys? The code below didn’t seem to produce a thing, but ran successfully:

def getTexture(lModel):
    # Get locator
    locName = lModel.LongName + "_loc"
    locNull = FBFindModelByLabelName(locName)
    print "Locator Null is:", locNull.LongName
    
    for eachMaterial in lModel.Materials:
        print eachMaterial.LongName
        
        # Get the diffuse texture
        diffuse = FBMaterialTextureType.kFBMaterialTextureDiffuse
        diffuseTexture =  eachMaterial.GetTexture(diffuse)

        # Get the translation 
        geoTexTrans = diffuseTexture.Translation        
        locTrans = locNull.Translation
        
        # Get the animation node for locator translation Y and Z
        locAnimY = locTrans.GetAnimationNode().Nodes[1]
        locAnimZ = locTrans.GetAnimationNode().Nodes[2]
        
        # Set the textureTranslation animated
        geoTexTrans.SetAnimated(True)        
        
        # Get the animation node for geo texture translation property
        geoAnimTransU = geoTexTrans.GetAnimationNode().Nodes[0]
        geoAnimTransV = geoTexTrans.GetAnimationNode().Nodes[1]

        FBConnect(locAnimY, geoAnimTransU)
        FBConnect(locAnimZ, geoAnimTransV)

#2

If this isn’t already resolved, have you tried connecting like so:

FBConnect(locTrans.GetAnimationNode().Nodes[1], geoTexTrans.GetAnimationNode().Nodes[0])