Performant Item/Element Shower

I’m wondering what is the best/most performant way to have 3d items/elements falling towards the ground.

  • spawn above the camera
  • x pixel apart from each other
  • have multiple distances (layers) from the camera
  • falling towards the ground via gravity
  • have items that are out of frame loop back or delete

The camera would be static and level looking straight ahead at the items.

Using instances, you can update the matrix of each indexed instance with a random offset and have each update position y in a loop, if any instances y position < x, reset y position…

https://threejs.org/examples/#webgl_instancing_dynamic

Thanks for the suggestion! I’m not sure yet if instancing is adequate since I need to have single items “fall” at different speeds. If I do it with a big mesh instance structure, I would need to monitor when the last instance of the mesh left the viewport and then respawn the whole mesh above the camera, right?