I am trying to develop a basic Breakout game using [this](https://www.youtube.com/watch?v=t_ahbdB0AnI) tutorial using Unity 5. But the ball starts to bouncing infinitely very easily. I cannot understand why this happenes.

In my physics knowledge starting an infinite bounce is very hard, and even impossible. To return the ball to same position after bouncing we must send the ball with zero degrees with the vertical axis. To send the ball with zero degrees with vertical axis we must receive the ball with zero degrees with the vertical axis. To receive the ball with zero degrees with the vertical axis we must send the ball with zero degrees, and so on. We can send a ball with zero degrees only in initial ball throw. In all the other cases there must be an angle which is not equal to zero. Am I wrong?

I mean the ball does not change its rotation. Ball moves between two plates which are parallel to each other infinitely (for example between paddle and upper wall)

I added physics material to ball, paddle and the walls. This material has following settings:
Dynamic friction: 0
Static friction: 0
Bounceness: 1

Settings of the ball:
Mass: 0.5
Drag: 0
Angular Drag: 0
Is Kinematic: true (I changed to false just before firing)
Use Gravity: false

Settings of the paddle:
Mass: 0.5
Drag: 0
Angular Drag: 0
Is Kinematic: true
Use Gravity: false