Skip to content

Latest commit

 

History

History
62 lines (34 loc) · 4.7 KB

README_ObjectCollection.md

File metadata and controls

62 lines (34 loc) · 4.7 KB

Object collection

Object collection

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. Since it supports any object in Unity, it can be used to layout both 2D and 3D objects.

Object collection scripts

  • GridObjectCollection supports Cylinder, Plane, Sphere, Radial surface types
  • ScatterObjectCollection supports scattered style collection
  • TileGridObjectCollection provides some additional options to GridObjectCollection. Note: TileGridObjectCollection does not extend GridObjectCollection, and has several bugs (see issue 6237). Therefore, it is recommended to use GridObjectCollection.
Grid Object Collection - Cylinder Grid Object Collection - Cylinder Grid Object Collection - Sphere Grid Object Collection - Sphere
Grid Object Collection - Radial Grid Object Collection - Radial Grid Object Collection - Plane Grid Object Collection - Plane
Scattered Object Collection Scattered Object Collection Tile Grid 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 collection parameters. Update Collection can be accessed through the code too.

Object collection

GridObjectCollection content alignment

The content in a GridObjectCollection can be aligned so that the parent object is anchored to the top/middle/bottom and left/center/right of the collection. Use the anchor property to specify content alignment.

GridObjectCollection layout order

Use the Layout field to specify the row / column order that children are laid out:

Column Then Row - Children are first laid out by horizontally (by column), then vertically (by row). Use Num Columns (or Columns property in code) to specify the number of columns in the grid.

Column then row layout

Row Then Column - Children are first laid out vertically (by row), then horizontally (by columns). Use Num Rows (or Rows property in code) to specify the number of rows in the grid.

Row then column layout

Horizontal - Children are laid out in a single row using columns only

Vertical - Children are laid out in a single column using rows only.

Object collection examples

The ObjectCollectionExamples (Assets/MRTK/Examples/Demos/UX/Collections/Scenes/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.

Object collection

2D Objects

An object collection can also be crated from 2D images. For example, multiple images can be placed in a grid style.

Object collection