Cuál es el método más rápido para crear y renderizar una gran cantidad de sprites 2D en Unity?
Estoy creando un generador de terreno infinito y necesito actualizar constantemente el terreno a medida que el jugador se mueve.
Todo está bien, pero tengo problemas para encontrar información sobre el método más rápido de crear y renderizar sprites sobre la marcha.
Información sobre sprites:
Estoy usando 1 hoja de sprites que tiene todos los marcos que necesito para mi terreno. Hierba, arena, agua, etc., todo en un solo archivo .png. Todos los marcos se almacenan en una matriz de la que puedo tomarlos fácilmente.
Pasos que debo hacer para mostrar mi objeto sprite correctamente actualmente:
Crear nuevo objeto. Establezca su posición en el espacio 2D.Agregar componente. Escale según sea necesario.os sprites generados se almacenan en unGameObject
matriz llamadachunk
. Esta es la forma en que actualmente estoy generando sprites.
chunk[i] = new GameObject();
chunk[i].gameObject.transform.position = new Vector2(spriteCoordX, spriteCoordY);
chunk[i].AddComponent<SpriteRenderer>();
SpriteRenderer renderer = chunk[i].GetComponent<SpriteRenderer>();
renderer.sprite = tiles[calculatedFrameId]; //Set correct sprite frame.
chunk[i].gameObject.transform.localScale = new Vector2(6.75f , 6.75f);
No lo sé, agregar componentes y escalar cada vez que quiero crear un nuevo sprite en el código parece redundante e innecesario y estoy seguro de que hay una mejor manera de hacerlo.
Para resumir
ecesito la mejor forma (la más rápida) posible de generar una gran cantidad de sprites, establecer su marco, posición y escala adecuada.