Matrices are an extremely powerful tool when working with vectors. They’re the magic that makes a lot of the code in our shaders work, but they also work in a lot of handy other places. For this video we’re going to look into using a matrix to rotate a ring of vectors around a single point. This will allow us to simulate an asteroid ring or something else as we want.

To do this we’ll generate a list of vectors (using some sin and cosine stuff to make them a circle). Once we have that list of vectors we can multiply them by a rotation matrix every frame to slowly rotate the points in a circle. That’s really it. It’s not a complex project, but it’s a handy experiment. The goal here is to be able to create a large scale asteroid belt by using these matrices as a force on the asteroids instead of manually applying force to each individual asteroid.

*It’s also a fun way to play with matrices 😁*

The way we’re using Matrices in this example is effectively how a parented `GameObject`

works in Unity by applying it’s own matrix (it’s transform) to its children. The main difference is that our solution does not require additional `GameObject`

s or other Unity specific features. It’s just math.

Join the World of Zero Discord Server: https://discord.gg/hU5Kq2u