Interaction Designer
& VR Technologist

Team of 5: 

​Nicholas Jennings, Ananya Nandy, Kathy Wang, Xinyi Zhu, Fanping Sui


- Ideation

- VR Interaction Design

- Passthrough Mode Dev

- 3D Modeling

- Visual Design

- Video Production

download (1).png

Generati VR

Spatial Interactions in Virtual Reality to Guide Generative Design


We present an interactive system where users can directly interact with the candidate designs as a method for guiding their exploration of a design space from a generative design system. We hope that the connection of these VR interactions with generative design provides humans with a better sense of how their designs might fit into the relevant environment as well as a possible future mechanism for providing generative algorithms with richer human feedback. 

image 1.png
Group 55.png

Our system uses Rhino 3D modeling software (Rhino 7) and Grasshopper visual programming to define a parametric model of the shelf design. The Galapagos evolutionary optimization component in Grasshopper can then be used to generate many designs and evaluate each design using a fitness function. We then send the designs (as 3D meshes and submeshes) and their parameters to the virtual reality evaluation system in Unity, as well as create a component to receive data back from Unity at the end of a round of evaluation.

Group 57.png

Functionality Filter

GenerativeDesignVR - SampleScene - PC, Mac _ Linux Standalone - Unity 2020.3.png

The idea of a functionality filter is for designers to act out a desired physical interaction with an object as if the object were there, and then the system will filter out designs that would not have allowed such actions to take place. Users are able to use the VR controllers to create and place blocks into the volume. Once the users finish placing their boxes, they press a physics button and each of the current potential designs is tested against the block positions.

Group 58.png

Here is the general workflow of our framework. The generative algorithm can be taken from Grasshopper (Galapagos evolutionary optimization component) or a custom generative algorithm can be developed. The generated designs are sent to Unity where the designer can filter through and select their preferred designs in various ways, such as placing items on shelves or manipulating the walls directly. The parameters of the selected designs are then sent back to the generative algorithm in Grasshopper and future generation will incorporate the human feedback into its fitness function.

Generativ VR.jpg

Generative Design Workflows (Image from Keshavarzi, Mohammad et al.)


In 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. Therefore, it is imperative to develop methods of interaction that allow designers to leverage the benefits of generative design systems seamlessly into their workflows.

System Overview



Design Space Generation

For our system, designs are generated by finding many possible combinations of a parameter space. Six parameters for constructing a simple shelf (width, height, depth, wall thickness, shelf location, and support location) are taken into account and combinations of these parameters within pre-specified bounds are used to create hundreds of designs.

VR Interaction


Grid-Based Design Gallery

The design space in VR is displayed in a grid-based gallery in front of the user. Users can navigate the gallery by grabbing and dragging the space in front of them using the VR controllers. The tool sorts designs into groups based on algorithmically defined measures of “similarity”. The gallery will first display a representative design from each group, and each group can be selected using a raycast from the VR controller, at which point the grid-view representation of the whole group will be displayed.

Group 59.png
Group 68 (1).png

Direct Manipulation Filter

Group 68.png

The direct manipulation filter allows designers to drag physical parts of designs into their preferred position, and filters out the designs that do not match. The user is shown a set of “ghost” shelves from the current design set. These “ghost” shelves give a summary of what the current design space looks like, and also act as potential handholds for the user to manipulate. The user can use the VR controller to grab one of the ghost shelves, and drag it up or down. The system continuously updates the ghost shelves to reflect the current list of shelves that match the new filter.

GenerativeDesignVR - SampleScene - PC, Mac _ Linux Standalone - Unity 2020.3 (1).png

Demo Video:

Next Up

Smell Revived

<  Smell Revived

NASA Wearable Design  >