private static UrdfJoint AddCorrectJointType(GameObject linkObject, JointTypes jointType) { UrdfJoint urdfJoint = null; switch (jointType) { case JointTypes.Fixed: urdfJoint = UrdfJointFixed.Create(linkObject); break; case JointTypes.Continuous: urdfJoint = UrdfJointContinuous.Create(linkObject); break; case JointTypes.Revolute: urdfJoint = UrdfJointRevolute.Create(linkObject); break; case JointTypes.Floating: urdfJoint = UrdfJointFloating.Create(linkObject); break; case JointTypes.Prismatic: urdfJoint = UrdfJointPrismatic.Create(linkObject); break; case JointTypes.Planar: urdfJoint = UrdfJointPlanar.Create(linkObject); break; } UnityEngine.Joint unityJoint = linkObject.GetComponent<UnityEngine.Joint>(); unityJoint.connectedBody = linkObject.transform.parent.gameObject.GetComponent<Rigidbody>(); unityJoint.autoConfigureConnectedAnchor = true; return urdfJoint; }
public static UrdfJoint Create(GameObject linkObject) { UrdfJointFixed urdfJoint = linkObject.AddComponent <UrdfJointFixed>(); urdfJoint.UnityJoint = linkObject.AddComponent <FixedJoint>(); urdfJoint.UnityJoint.autoConfigureConnectedAnchor = true; return(urdfJoint); }
public static UrdfJoint Create(GameObject linkObject) { UrdfJointFixed urdfJoint = linkObject.AddComponent <UrdfJointFixed>(); #if UNITY_2020_1_OR_NEWER urdfJoint.unityJoint = linkObject.AddComponent <ArticulationBody>(); #else urdfJoint.UnityJoint = linkObject.AddComponent <FixedJoint>(); urdfJoint.UnityJoint.autoConfigureConnectedAnchor = true; #endif return(urdfJoint); }
private static UrdfJoint AddCorrectJointType(GameObject linkObject, JointTypes jointType) { UrdfJoint urdfJoint = null; switch (jointType) { case JointTypes.Fixed: urdfJoint = UrdfJointFixed.Synchronize(linkObject); break; case JointTypes.Continuous: urdfJoint = UrdfJointContinuous.Synchronize(linkObject); break; case JointTypes.Revolute: urdfJoint = UrdfJointRevolute.Synchronize(linkObject); break; case JointTypes.Floating: urdfJoint = UrdfJointFloating.Synchronize(linkObject); break; case JointTypes.Prismatic: urdfJoint = UrdfJointPrismatic.Synchronize(linkObject); break; case JointTypes.Planar: urdfJoint = UrdfJointPlanar.Synchronize(linkObject); break; } //SynchTodo: This assignment probably does not break stuff, but is not necessary. UnityEngine.Joint unityJoint = linkObject.GetComponent <UnityEngine.Joint>(); unityJoint.connectedBody = linkObject.transform.parent.gameObject.GetComponent <Rigidbody>(); unityJoint.autoConfigureConnectedAnchor = true; return(urdfJoint); }