"Hello. I’m a beginner who has been learning Unity for a month. Since English is not my first language, I’m using the assistance of ChatGPT to help me convey my question accurately. Currently, I’m working on a 2D project similar to Arkanoid. I want to make the most of Unity’s physics effects, but I noticed that the ball’s speed decreases with each collision against the walls due to friction. While this is a normal phenomenon in billiards, it goes against the physics concept I want for my game. In Arkanoid, as far as I remember, the ball’s speed and reflection angle increase with each collision, making it impossible to hit the ball and leading to a game over, which encourages the player to avoid losing the ball.
However, in my project, at some point, the ball comes to a complete stop, like a classic toy called Waters, floating in water. Therefore, I have the following questions:
How can I implement infinite bouncing off walls without the ball slowing down using Unity’s physics effects?
What approach should I take to increase the ball’s speed or adjust the reflection angle with each collision against the walls, or to create a curved reflection movement instead of a straight line? Are there any specific commands or relevant examples I can refer to?
If I were to create a billiards game, while the current approach might be suitable, I still lack knowledge about implementing ball rotation based on hitting points and controlling various cushion effects. I’m not working on a billiards game right now, but I plan to practice 3D projects soon, considering a potential porting to VR. Therefore, I would appreciate an answer that not only addresses the Arkanoid-style approach but also enhances my understanding of implementing billiards.