In
2013/2014, I developed a pipeline and workflow process for taking Revit models
that our designers were using to design and build client homes, and bring them
into Unity for both high-end VRay rendering and real-time interactive
walkthroughs in Unity. This pipeline was designed to meet the following
high-level goals; it should:
Be usable by designers familiar with Revit
and/or 3DS MAX, but not Unity
Require only minimal interaction with low-level
MAX and Unity tools. The workflow aimed at automating 85% of the conversion process
via custom scripts
Interface with our material library, and manage conversion
to both VRay materials for high-end renderings and Standard materials for
import into Unity
Provide rapid turnaround compared to creating a
static rendering, from acquiring the completed Revit model to delivering a finished
walkthrough visualization
A customized project template for 3DS MAX served as the starting point for the workflow, containing a number of helper objects and rigs plus a set of MaxScript
tools that converted materials and assigned metadata tags to various model components in preparation for export. Tagged behaviors included:
Converting MAX target cameras to Unity cameras
Converting Revit light types to the appropriate
Unity light type
Automatically assigning mesh colliders to only specific
model components (flooring, decking, patios etc.)
Automatically identifying roof/ceiling
components, so they could be hidden/shown as part of the visualization
Automatically creating invisible “ramp” objects
around any stairs or deck steps in the model, to facilitate smooth navigation
To build an actual walkthrough visualization, artists utilized a second (Unity) template project containing custom import
pre-processors that used the various tags to “prep” components for interactive
behavior. Additional editor scripts in Unity performed additional conversion and project setup tasks.