from pyfbsdk import *
import random
def CreateAndSetupMarkerSet(pCharacter):
pCharacter.CreateCharacterMarkerSet(True)
lMarkerSet = pCharacter.PropertyList.Find("MarkerSet")[0]
lHipMarkers = lMarkerSet.PropertyList.Find("Hips.Markers")
lJointModel = pCharacter.GetModel(FBBodyNodeId.kFBHipsNodeId)
lMarkerModel_T = FBVector3d()
if lJointModel:
for i in range(4):
lJointModel.GetVector(lMarkerModel_T, FBModelTransformationType.kModelTranslation, True)
lMarkerModel_T[0] = lMarkerModel_T[0]+random.randint(-30, 30)
lMarkerModel_T[2] = lMarkerModel_T[2]+random.randint(-30, 30)
lMarker = FBModelNull("Marker")
lMarker.SetVector(lMarkerModel_T, FBModelTransformationType.kModelTranslation, True)
lMarker.Show = True
if lMarker:
lHipMarkers.ConnectSrc(lMarker)
lNewGoalModel = pCharacter.GetGoalModel(FBBodyNodeId.kFBHipsNodeId)
if lNewGoalModel:
lVec = FBVector3d()
lVec2 = FBVector3d()
lNewGoalModel.GetVector(lVec, FBModelTransformationType.kModelTranslation, True)
lJointModel.GetVector(lVec2, FBModelTransformationType.kModelTranslation, True)
print lVec, lVec2
lNewGoalModel.GetVector(lVec, FBModelTransformationType.kModelRotation, True)
lJointModel.GetVector(lVec2, FBModelTransformationType.kModelRotation, True)
print lVec, lVec2
if lMarker:
lHipMarkers.DisconnectSrc( lMarker )
lCharacter = FBApplication().CurrentCharacter
if lCharacter:
CreateAndSetupMarkerSet(lCharacter)