VelocityEstimator.GetVelocityEstimate C# (CSharp) Method

GetVelocityEstimate() public method

public GetVelocityEstimate ( ) : Vector3
return Vector3
	public Vector3 GetVelocityEstimate()
	{
		// Compute average velocity
		Vector3 velocity = Vector3.zero;
		int velocitySampleCount = Mathf.Min( sampleCount, velocitySamples.Length );
		if ( velocitySampleCount != 0 )
		{
			for ( int i = 0; i < velocitySampleCount; i++ )
			{
				velocity += velocitySamples[i];
			}
			velocity *= ( 1.0f / velocitySampleCount );
		}

		return velocity;
	}

Usage Example

        public virtual void GetReleaseVelocities(Rigidbody rigidbody, out Vector3 velocity, out Vector3 angularVelocity)
        {
            Player player = Player.instance;

            switch (player.releaseVelocityStyle)
            {
            case ReleaseStyle.ShortEstimation:
                velocityEstimator.FinishEstimatingVelocity();
                velocity        = velocityEstimator.GetVelocityEstimate();
                angularVelocity = velocityEstimator.GetAngularVelocityEstimate();
                break;

            case ReleaseStyle.AdvancedEstimation:
                GetEstimatedPeakVelocities(out velocity, out angularVelocity);
                break;

            case ReleaseStyle.GetFromHand:
                velocity        = GetTrackedObjectVelocity(player.releaseVelocityTimeOffset);
                angularVelocity = GetTrackedObjectAngularVelocity(player.releaseVelocityTimeOffset);
                break;

            default:
            case ReleaseStyle.NoChange:
                velocity        = rigidbody.velocity;
                angularVelocity = rigidbody.angularVelocity;
                break;
            }

            if (player.releaseVelocityStyle != ReleaseStyle.NoChange)
            {
                velocity *= player.scaleReleaseVelocity;
            }
        }
All Usage Examples Of VelocityEstimator::GetVelocityEstimate