How to create a distant asteroid field?


I want to create an asteroid field, which is visible from a distance, what do I use, is there an universal solution for this?

What I currently use:
A particle system, which emits asteroids and when I get close they are replaced with actual asteroids. The texture for the particle system renderer is updated constantly using a separate camera, so the asteroids look better. I use the Texture Sheet Animation to simulate multiple asteroids.
The problem with this solution is that it takes many draw calls and that there is no way to determine which frame(asteroid) does the particle use from the Texture Sheet Animation, so the Instantiate asteroids look different then the particles.

Can I access the Texture Sheet Animation frame property for a particle?

This is how it currently looks:
Before Instantiate:



I think if I were approaching this problem, I’d want to leverage LOD (pro feature, but you can roll a passable LOD system on your own) and dynamic batching. Your particle idea is a smart one, but it won’t give you the clean, seamless, functional results you’re seeking.

For your other question, AFAIK, the current frame of a particle can only be discovered by using what I call age management, wherein each specific particle’s age is repeatedly clamped to lie within a certain range. It’s the only way to manipulate certain shuriken change-over-time modules like sprite animation. By controlling and knowing a particle’s age, and by selecting the whole-sheet-over-lifetime option in the sheet animator module, you can know the particle’s position on the atlas. This is not ideal for many obvious reasons, but it can be done.

This may be an old thread, but if anyone else is interested in the problem: one easy and realistic way to reduce the problem is to simply make a (realistically) more sparse asteroid field, because in real life I doubt asteroids are clustered as densely as in so many video games and movies (think about it). Simply spawn a smaller number nearby and then have distant billboards with a “foggy” pattern to simulate the more distant parts of the field. In between, have smaller billboards for individual asteroids at mid-distance, then replace them with meshes as you get closer. The latter can all be batched since they use the same material.