private static RigidbodyConstraints GetConstraints(glTF_VCAST_vci_Rigidbody rigidbody) { return ((rigidbody.freezePositionX ? RigidbodyConstraints.FreezePositionX : 0) | (rigidbody.freezePositionY ? RigidbodyConstraints.FreezePositionY : 0) | (rigidbody.freezePositionZ ? RigidbodyConstraints.FreezePositionZ : 0) | (rigidbody.freezeRotationX ? RigidbodyConstraints.FreezeRotationX : 0) | (rigidbody.freezeRotationY ? RigidbodyConstraints.FreezeRotationY : 0) | (rigidbody.freezeRotationZ ? RigidbodyConstraints.FreezeRotationZ : 0) ); }
public static Rigidbody AddRigidbodyComponent(GameObject go, glTF_VCAST_vci_Rigidbody rigidbody) { var result = go.GetOrAddComponent <Rigidbody>(); result.mass = rigidbody.mass; result.drag = rigidbody.drag; result.angularDrag = rigidbody.angularDrag; result.useGravity = rigidbody.useGravity; result.isKinematic = rigidbody.isKinematic; result.interpolation = InterpolateString.GetInterpolationFromString(rigidbody.interpolate); result.collisionDetectionMode = CollisionDetectionModeString.GetDetectionModeFromString(rigidbody.collisionDetection); result.constraints = GetConstraints(rigidbody); return(result); }
public static glTF_VCAST_vci_Rigidbody GetglTfRigidbodyFromUnityRigidbody(Rigidbody rigidbody) { var result = new glTF_VCAST_vci_Rigidbody(); result.mass = rigidbody.mass; result.drag = rigidbody.drag; result.angularDrag = rigidbody.angularDrag; result.useGravity = rigidbody.useGravity; result.isKinematic = rigidbody.isKinematic; result.interpolate = InterpolateString.GetStringFromInterpolation(rigidbody.interpolation); result.collisionDetection = CollisionDetectionModeString.GetStringFromCollisionDetectionMode(rigidbody.collisionDetectionMode); result.freezePositionX = rigidbody.constraints.HasFlag(RigidbodyConstraints.FreezePositionX); result.freezePositionY = rigidbody.constraints.HasFlag(RigidbodyConstraints.FreezePositionY); result.freezePositionZ = rigidbody.constraints.HasFlag(RigidbodyConstraints.FreezePositionZ); result.freezeRotationX = rigidbody.constraints.HasFlag(RigidbodyConstraints.FreezeRotationX); result.freezeRotationY = rigidbody.constraints.HasFlag(RigidbodyConstraints.FreezeRotationY); result.freezeRotationZ = rigidbody.constraints.HasFlag(RigidbodyConstraints.FreezeRotationZ); return(result); }