--- a +++ b/Tools/AnyMocap/Protocols/XsensBVH.any @@ -0,0 +1,543 @@ +// EXAMPLE of MarkerProcol file for the BVH Xsens virtual stickfigure. + +#define MOCAP_PROTOCOL_NAME "XSENS_BVH" + +CreateMarkerDriver HEAD( +MarkerPlacement=Trunk.SegmentsCervicalSpine.SkullSeg, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Head.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=0.3,WeightY=0.3,WeightZ=0.3, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON) = +{ + sRelOpt = {0.05, 0.16, 0}; + sRelOnBVH = {0.0,0,0}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Head.Seg.End_Site.sRel; +}; + + +CreateMarkerDriver HEAD_R( +MarkerPlacement=Trunk.SegmentsCervicalSpine.SkullSeg, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Head.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=0.3,WeightY=0.3,WeightZ=0.3, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.05, 0.160, 0.1}; + sRelOnBVH = {-0.1,0,0}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Head.Seg.End_Site.sRel; +}; + + + +CreateMarkerDriver HEAD_L( +MarkerPlacement=Trunk.SegmentsCervicalSpine.SkullSeg, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Head.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=0.3,WeightY=0.3,WeightZ=0.3, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.05, 0.16, -0.1}; + sRelOnBVH = {0.1,0,0}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Head.Seg.End_Site.sRel; +}; + + + + +CreateMarkerDriver SACR( +MarkerPlacement=Trunk.SegmentsLumbar.PelvisSeg, +PlaceMarkerAt=PelvisSacrumJntNode, +MarkerPlacementBVH=Main.ModelSetup.BVHFileData.Model.Hips.Seg, +OptX=OFF, OptY=OFF, OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = { + sRelOpt ={0.035, 0.0, 0.0}; + sRelOnBVH = Main.ModelSetup.BVHFileData.Model.Hips.Seg.Chest.sRel; +}; + + + + +CreateMarkerDriver RHJC( +MarkerPlacement=Trunk.SegmentsLumbar.PelvisSeg, +PlaceMarkerAt=Right.HipJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightHip.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0}; +}; + + + +CreateMarkerDriver LHJC( +MarkerPlacement=Trunk.SegmentsLumbar.PelvisSeg, +PlaceMarkerAt=Left.HipJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0}; +}; + + + +CreateMarkerDriver T1C7Jnt( +MarkerPlacement= Trunk.SegmentsCervicalSpine.C7Seg, +PlaceMarkerAt=T1C7JntNode, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Neck.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.00, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver SPINE( +MarkerPlacement= Trunk.SegmentsThorax.T1Seg, +PlaceMarkerAt=T1C7JntNode, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=2,WeightY=0,WeightZ=2, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.03,-0.15,0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver L3( +MarkerPlacement=Trunk.SegmentsLumbar.L3Seg, +PlaceMarkerAt = L2L3JntNode, +MarkerPlacementBVH=Main.ModelSetup.BVHFileData.Model.Hips.Chest.Seg.Chest2, +OptX=OFF, OptY=OFF, OptZ=OFF, +WeightX=2,WeightY=0,WeightZ=2, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = { + sRelOpt ={-0.00, 0.0, 0.0}; + sRelOnBVH = {0,0,0}; +}; + + + +CreateMarkerDriver CHEST( +MarkerPlacement= Trunk.SegmentsRibCage.SternumSeg, +PlaceMarkerAt=ij, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=2,WeightY=2,WeightZ=2, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.0, 0.00 ,-0.1}; + sRelOnBVH = {0,0,0.2}+{0,Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.Seg.RightCollar.sRel[1],0}; +}; + + + +CreateMarkerDriver RSJC( +MarkerPlacement= Right.ShoulderArm.Seg.Scapula, +PlaceMarkerAt =gh, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver REJC( +MarkerPlacement= Right.ShoulderArm.Seg.Humerus, +PlaceMarkerAt=fe, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.RightElbow.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0}; +}; + + + +CreateMarkerDriver RALE( +MarkerPlacement= Right.ShoulderArm.Seg.Humerus, +PlaceMarkerAt=REJC_Marker, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.1, 0, 0}; + sRelOnBVH = {0.0, 0.1, 0}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.Seg.RightElbow.sRel; +}; + + + +CreateMarkerDriver RWRB( +MarkerPlacement= Right.ShoulderArm.Seg.Radius, +PlaceMarkerAt=wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.RightElbow.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.0, -0.1, 0}; + sRelOnBVH = {0,0,0.1}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.RightElbow.Seg.RightWrist.sRel; +}; + + + +CreateMarkerDriver RWJC( +MarkerPlacement= Right.ShoulderArm.Seg.Hand, +PlaceMarkerAt =Ref.wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.RightElbow.RightWrist.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver RHT1( +MarkerPlacement= Right.ShoulderArm.Seg.Hand, +PlaceMarkerAt =Ref.wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.RightElbow.RightWrist.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.18, -0.1, 0}; + sRelOnBVH = {-0.18, 0, 0.1 }; +}; + + + +CreateMarkerDriver RHT2( +MarkerPlacement= Right.ShoulderArm.Seg.Hand, +PlaceMarkerAt =Ref.wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.RightCollar.RightShoulder.RightElbow.RightWrist.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.18, 0.05, 0}; + sRelOnBVH = {-0.18, 0, -0.05 }; +}; + + + +CreateMarkerDriver LSJC( +MarkerPlacement= Left.ShoulderArm.Seg.Scapula, +PlaceMarkerAt=gh, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver LEJC( +MarkerPlacement= Left.ShoulderArm.Seg.Humerus, +PlaceMarkerAt =fe, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.LeftElbow.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver LALE( +MarkerPlacement= Left.ShoulderArm.Seg.Humerus, +PlaceMarkerAt =fe, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.1, 0, 0}; + sRelOnBVH = {0.0, 0.1, 0}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.Seg.LeftElbow.sRel; +}; + + + +CreateMarkerDriver LWRB( +MarkerPlacement= Left.ShoulderArm.Seg.Radius, +PlaceMarkerAt=wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.LeftElbow.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.0, 0.1, 0}; + sRelOnBVH = {0,0,0.1}+Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.LeftElbow.Seg.LeftWrist.sRel; +}; + + + +CreateMarkerDriver LWJC( +MarkerPlacement= Left.ShoulderArm.Seg.Hand, +PlaceMarkerAt =Ref.wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.LeftElbow.LeftWrist.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver LHT1( +MarkerPlacement= Left.ShoulderArm.Seg.Hand, +PlaceMarkerAt =Ref.wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.LeftElbow.LeftWrist.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.18, 0.1, 0}; + + sRelOnBVH = {0.18, 0, 0.1 }; +}; + + + +CreateMarkerDriver LHT2( +MarkerPlacement= Left.ShoulderArm.Seg.Hand, +PlaceMarkerAt =Ref.wj, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.Chest.Chest2.Chest3.Chest4.LeftCollar.LeftShoulder.LeftElbow.LeftWrist.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {-0.18, -0.05, 0}; + sRelOnBVH = {0.18, 0, -0.05 }; +}; + + + +CreateMarkerDriver RKJC( +MarkerPlacement= Right.Leg.Seg.Thigh, +PlaceMarkerAt =KneeJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightHip.RightKnee.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0 }; +}; + + + +CreateMarkerDriver RKNE( +MarkerPlacement= Right.Leg.Seg.Thigh, +PlaceMarkerAt =KneeJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightHip.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0.1}; + sRelOnBVH = {-0.1, 0.0, 0 }+Main.ModelSetup.BVHFileData.Model.Hips.RightHip.Seg.RightKnee.sRel; +}; + + +CreateMarkerDriver RAJC( +MarkerPlacement= Right.Leg.Seg.Shank, +PlaceMarkerAt =AnkleJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightHip.RightKnee.RightAnkle.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0}; +}; + + + +CreateMarkerDriver RTOE( +MarkerPlacement= Right.Leg.Seg.Foot, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightHip.RightKnee.RightAnkle.RightToe.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =ON, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.14, -0.08, -0.02}; + sRelOnBVH = {0.02, 0, 0 }; +}; + + + +CreateMarkerDriver RTOE2( +MarkerPlacement= Right.Leg.Seg.Foot, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.RightHip.RightKnee.RightAnkle.RightToe.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=0, +ScaleMarkerPosOnOff =ON, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.14, -0.08, 0.05}; + sRelOnBVH = {-0.05, 0, 0 }; +}; + + + +CreateMarkerDriver LKJC( +MarkerPlacement= Left.Leg.Seg.Thigh, +PlaceMarkerAt=KneeJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.LeftKnee.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0}; +}; + + + +CreateMarkerDriver LKNE( +MarkerPlacement= Left.Leg.Seg.Thigh, +PlaceMarkerAt=KneeJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=0, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, -0.1}; + sRelOnBVH = {0.1, 0.0, 0 }+Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.Seg.LeftKnee.sRel; +}; + + + +CreateMarkerDriver LAJC( +MarkerPlacement= Left.Leg.Seg.Shank, +PlaceMarkerAt=AnkleJoint, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.LeftKnee.LeftAnkle.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =OFF, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0, 0, 0}; + sRelOnBVH = {0, 0, 0}; +}; + + + +CreateMarkerDriver LTOE( +MarkerPlacement= Left.Leg.Seg.Foot, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.LeftKnee.LeftAnkle.LeftToe.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =ON, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.14, -0.08, 0.02}; + sRelOnBVH = {-0.02, 0, 0 }; +}; + + + +CreateMarkerDriver LTOE2( +MarkerPlacement= Left.Leg.Seg.Foot, +PlaceMarkerAt=AnatomicalFrame, +MarkerPlacementBVH= Main.ModelSetup.BVHFileData.Model.Hips.LeftHip.LeftKnee.LeftAnkle.LeftToe.Seg, +OptX=OFF,OptY=OFF,OptZ=OFF, +WeightX=1,WeightY=1,WeightZ=1, +ScaleMarkerPosOnOff =ON, +USE_BVH_INPUT = ON +) = +{ + sRelOpt = {0.14, -0.08, -0.05}; + sRelOnBVH = {0.05, 0, 0 }; +};