public static Rigidbody Create(this Link.Inertial inertial, GameObject gameObject) { Rigidbody rigidbody = gameObject.AddComponent <Rigidbody>(); if (inertial.origin != null) { rigidbody.centerOfMass = inertial.origin.GetPosition(); } // todo: apply inertail rotation for inertia rigidbody.mass = (float)inertial.mass; inertial.inertia.SetInertia(rigidbody); return(rigidbody); }
public static Rigidbody Create(this Link.Inertial inertial, GameObject gameObject) { Rigidbody rigidbody = gameObject.AddComponent <Rigidbody>(); rigidbody.mass = (float)inertial.mass; if (inertial.origin != null) { rigidbody.centerOfMass = inertial.origin.GetPosition(); } inertial.inertia.SetInertia(rigidbody); RigidbodyUrdfDataManager rigidbodyUrdfDataManager = gameObject.AddComponent <RigidbodyUrdfDataManager>(); rigidbodyUrdfDataManager.GetValuesFromUrdf( rigidbody.centerOfMass, rigidbody.inertiaTensor, rigidbody.inertiaTensorRotation); rigidbodyUrdfDataManager.UseUrdfData = true; return(rigidbody); }