private void UpdatePosition()
 {
     if (m_fluid)
     {
         ray = new Ray(gameObject.transform.position, Vector3.forward);
         if (m_tempCol.Raycast(ray, out m_HitInfo, distance))
         {
             m_FluidSSize           = new Vector2(m_fluid.GetWidth(), m_fluid.GetHeight());
             m_PosInFluidSpace      = new Vector2(m_HitInfo.textureCoord.x * m_FluidSSize.x, m_HitInfo.textureCoord.y * m_FluidSSize.y);
             m_velocityInFluidSpace = m_fluid.GetVelocity((int)m_PosInFluidSpace.x, (int)m_PosInFluidSpace.y) * Time.deltaTime;
             m_WorldVelocity        = new Vector2((m_velocityInFluidSpace.x * m_fluid.GetRenderSize().x) / m_FluidSSize.x, (m_velocityInFluidSpace.y * m_fluid.GetRenderSize().y) / m_FluidSSize.y);
             if (!useRigidbody)
             {
                 transform.position += Vector3.Lerp(transform.position, m_WorldVelocity, lerpSpeed) * Time.deltaTime / m_Weight;
             }
             else
             {
                 rig.velocity += Vector2.Lerp(transform.position, m_WorldVelocity, lerpSpeed) * Time.deltaTime / m_Weight;
             }
         }
     }
 }