In our journey through this chapter, we experienced software development as an iterative process, changing, reworking, and improving our game multiple times. Some changes were big, while others were small. We built games that use the Unity Physics Engine and other features.
First, we explained in layman's terms the relationship between Rigidbody, Colliders, and Physic Materials, and explored how the physics engine uses these to determine the velocity and collision of objects in the scene. Then, we considered the life cycle of game objects and implemented an object pooler that helps avoid memory fragmentation and GC, which can lead to performance problems and VR discomfort.
Using what we learned, we implemented several variations of a ball game, first aiming for a target with your head, and then using hand paddles. We modified the game so that, instead of serving balls from above, using gravity, we shoot them from in front and apply a velocity vector...