& VR Technologist
Team of 5:
Nicholas Jennings, Ananya Nandy, Kathy Wang, Xinyi Zhu, Fanping Sui
- VR Interaction Design
- Passthrough Mode Dev
- 3D Modeling
- Visual Design
- Video Production
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.
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.
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.
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.
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.
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.
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.
Direct Manipulation Filter
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.