Пример #1
0
 internal RigidBodyPatch(Rigidbody rigidbody, Transform sceneRoot)
 {
     // Do not include Position or Rotation in the patch.
     Velocity               = new Vector3Patch(sceneRoot.InverseTransformDirection(rigidbody.velocity));
     AngularVelocity        = new Vector3Patch(sceneRoot.InverseTransformDirection(rigidbody.angularVelocity));
     Mass                   = rigidbody.mass;
     DetectCollisions       = rigidbody.detectCollisions;
     CollisionDetectionMode = (MRECollisionDetectionMode)Enum.Parse(typeof(MRECollisionDetectionMode), rigidbody.collisionDetectionMode.ToString());
     UseGravity             = rigidbody.useGravity;
     ConstraintFlags        = (MRERigidBodyConstraints)Enum.Parse(typeof(MRERigidBodyConstraints), rigidbody.constraints.ToString());
 }
Пример #2
0
     internal RigidBodyPatch(RigidBody rigidbody, Spatial sceneRoot)
     {
         // Do not include Position or Rotation in the patch.
         Velocity               = new Vector3Patch(sceneRoot.ToLocal(rigidbody.LinearVelocity));
         AngularVelocity        = new Vector3Patch(sceneRoot.ToLocal(rigidbody.AngularVelocity));
         Mass                   = rigidbody.Mass;
         DetectCollisions       = !rigidbody.GetChild <CollisionShape>().Disabled;
         CollisionDetectionMode = rigidbody.ContinuousCd switch
         {
             true => MRECollisionDetectionMode.Continuous,
             false => MRECollisionDetectionMode.Discrete
         };
         UseGravity      = !Mathf.IsZeroApprox(rigidbody.GravityScale);
         ConstraintFlags = rigidbody.GetMRERigidBodyConstraints();
     }
 }
Пример #3
0
 internal TransformPatch(MWVector3 position, MWQuaternion rotation, MWVector3 scale)
 {
     this.Position = new Vector3Patch(position);
     this.Rotation = new QuaternionPatch(rotation);
     this.Scale    = new Vector3Patch(scale);
 }
 internal ScaledTransformPatch(MWVector3 position, MWQuaternion rotation, MWVector3 scale)
     : base(position, rotation)
 {
     this.Scale = new Vector3Patch(scale);
 }