My role
Interaction Design
Unity Development

Nicholas Jennings, Ananya Nandy,
Kathy Wang

10.2021 - 02.2022

GeneratiVR is an interactive system that allows users to explore and control generative design systems through spatial interactions in virtual reality. We present a prototype of spatial interaction techniques that can assist humans in navigating a large design space and getting a better sense of how their designs might function in the relevant environment through the example of designing storage shelves. 

A paper on this project is accepted to CHI 2022 Late-Breaking Work︎︎︎.

With generative design systems, designers provide high-level specifications and constraints, receiving many generated geometries that satisfy these goals as outputs. At the same time, the creation of an expansive design space drives a need for designers to efficiently navigate through the vast quantities of options now available.

How to enable designers to efficiently and effectively evaluate and select preferred designs from a large set of alternatives? 

💡️ VR has the ability to simulate environments in which designs operate in the real world.

💡️ VR has the ability to facilitate spatial interaction with 3D objects

Therefore, we propose two novel interaction techniques in Virtual Reality to address this challenge by leveraging rich, spatial user input:

  1. gesture-based direct manipulation to indicate preference for design features;
  2. action-based demonstrations of desired design functionality.

The interactions are explored through the example of designing storage shelves. In our storyboard, the user starts with the large list of generated shelf designs, supported by a gallery-like visualization that allows them to explore several designs at once. The designer can then narrow down and choose designs or design parameters using a direct manipulation filter and a functionality filter.

1. User sees a full design space in virtual reality.

2. User first applies the direct manipulation filter.

3. User chooses an example shelf to shart with.

4. Users drag the feature to demonstrate their preferred position.

5. When users let go, only designs that satisfy the preferences remain.

6. Still too many! User then applies the functionality filter.

7. A bounding box based on the space of remaining designs is shown first. 

8. Users create objects of desired sizes and place the objects in their preferred positions.

9. Users create more objects and place the objects in their preferred positions.

10. After two filters applied, only one design remains.


We use Rhino 7 and Grasshopper to define a parametric model of the shelf design, generate many designs and evaluate each design using a fitness function.

The model uses six parameters (width, height, depth, wall thickness, shelf location, and support location) to create hundreds of designs for the VR evaluation.

The generative design system then goes to a grid of 3D design geometries, which go into virtual reality. The two interaction types in VR are shown belew: the user, wearing a headset, uses his controller to move the edge of the shelf in one interaction and then places some books on the shelf in the other interaction. We also send data back to the generative design system at the end of each round of evaluation.
Direct Manipulation Filter

  1. Users select a design from the grid. 
  2. Users select the part of the design which they want to modify.
  3. Users drag the feature to demonstrate their preferred position, and see how many designs fulfill their preference in real-time as “ghosts”. 
  4. When users let go, only designs that satisfy the preference remain.

Functionality Filter

  1. A bounding box based on the space of remaining designs is shown. 
  2. Users create objects of desired sizes and place the objects in their preferred positions.
  3. Only designs that satisfy the desired function (supporting the items in the specified locations) are shown.

Our current system lays most of the groundwork needed for conducting studies on how interactions in VR can be used to guide the generative design process with human feedback, although we have not yet run formal evaluation studies.

Our immediate next steps will consist of quantitatively and qualitatively evaluating how designers might actually incorporate these interactions into a design process, as well as their benefit on generating desirable designs.

Additionally, the interactions have only been tested using the design of a shelf as an example, we believe there is a clear application to other furniture-like application domain.