Object collection is a script to help lay out an array of objects in predefined three-dimensional shapes. It supports various surface styles including plane, cylinder, sphere, and radial. Radius, size, and the space between the items can be adjusted. Since it supports any object in Unity, it can be used to layout both 2D and 3D objects.
Object collection scripts
GridObjectCollection.cssupports Cylinder, Plane, Sphere, Radial surface types
ScatterObjectCollection.cssupports scattered style collection
TileGridObjectCollection.csprovides some additional options to GridObjectCollection.
|Grid Object Collection - Cylinder||Grid Object Collection - Sphere|
|Grid Object Collection - Radial||Grid Object Collection - Plane|
|Scattered Object Collection||Tile Grid Object Collection|
How to use an object collection
To create a collection, create an empty GameObject and assign one of the Object Collection scripts to it. Any object(s) can be added as a child of the GameObject. Once finished adding child objects, click the Update Collection button in the inspector panel to generate the object collection. The objects will be laid out in the scene according to the selected surface type. Update Collection can be accessed thorugh the code too.
Object collection examples
The ObjectCollectionExamples.unity example scene contains various examples of object collection types.
Periodic table of the elements is an example app that demonstrates how object collections work. It uses object collection to layout the 3D element boxes in different shapes.
Object collection types
3D objects An object collection can be used to layout imported 3D objects. The example below shows the plane and cylindrical layouts of 3D chair model objects using a collection.
An object collection can also be crated from 2D images. For example, multiple images can be placed in a grid style.