Exemplo n.º 1
0
 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)
         );
 }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
0
        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);
        }