internal void UpdateTransform(RigidBodyTransformUpdate update) { if (update.Position != null) { _rigidbody.position = update.Position.Value; } if (update.Rotation != null) { _rigidbody.rotation = update.Rotation.Value; } }
internal void UpdateTransform(RigidBodyTransformUpdate update) { Vector3 origin = _rigidbody.GlobalTransform.origin; Basis basis = _rigidbody.GlobalTransform.basis; if (update.Position != null) { origin = update.Position.Value; } if (update.Rotation != null) { basis = new Basis(update.Rotation.Value); } _rigidbody.GlobalTransform = new Transform(basis, origin); }
internal void SynchronizeEngine(RigidBodyTransformUpdate update) { _updateActions.Enqueue((rigidBody) => UpdateTransform(update)); }