Intro to the Unity Industrial Collection, Part 1: Importing and Optimizing 3D Data

Unity Technologies has sponsored this post.

(Image courtesy of Unity.)

We’ve written before about how Unity, born as a game engine, has become a valuable tool for real-time 3D applications. Companies use the software to develop digital twins, optimize building layouts, accelerate machine learning and more.

Over the next two articles, we’ll take a first-hand look at the Unity Industrial Collection, explaining what it is and unpacking how it works. By the end of this series, those new to the software will have a foundation on which to use Unity for real-time 3D applications in design, engineering, manufacturing, marketing, maintenance and more.

What is the Unity Industrial Collection?

The Unity Industrial Collection is a bundle of three components commonly needed for industrial Unity projects. The first is Unity Pro, the main platform at the heart of every Unity project, industrial or otherwise. Unity Pro is a robust software development engine that comprises a suite of technologies, configurable through the Unity Editor user interface, including custom scripting tools, multiple rendering pipelines, graphics, animation and audio tools, navigation, networking and user interface tools.  Users can publish content to mobile phones, tablets, PCs, and augmented and virtual reality devices.

The second component of the bundle is the Pixyz Plugin, an extension to Unity that adds several features necessary for working with CAD models from over 30 professional applications including SOLIDWORKS, NX and Revit. Finally, the Unity Industrial Collection includes AxF and xTex material importers to bring high quality materials into industrial projects.

The three components of the Unity Industrial Collection. (Image courtesy of Unity.)

Unity Pro and Pixyz Plugin are available for standalone purchase ($1,800/year and $1,150/year respectively, a total of $2,950), though the Unity Industrial Collection bundles them together at a significant discount ($2,520/year). The AxF and xTex importers are only available through the Unity Industrial Collection.

Importing CAD Models into Unity with Pixyz

Pixyz (pronounced “pixies”) is the key that unlocks the industrial value of the Unity Industrial Collection. It’s the tool that allows native CAD, BIM and point cloud files to be imported into Unity Pro, also called the Unity editor, with all parts and meta data intact. Here are some of the major 3D applications and formats currently supported by the Pixyz Plugin, with a full list available here:

(Image courtesy of Unity.)

For the most part, a license is not required to import proprietary file formats through Pixyz, though there are two exceptions: Autodesk Alias (.wire) and VRED (.vpb) files. Users must configure the path to these application executables in the Pixyz preferences menu.

The Pixyz Plugin is so valuable to certain Unity projects that Unity made the decision to acquire Pixyz, closing the deal in June 2021. Prior to the acquisition, Pixyz developers independently built the tool on top of Unity, showcasing the real-time 3D platform’s depth of extensibility (more on this in Part 2).

Despite the acquisition, both the Unity editor and Pixyz Plugin continue to be licensed separately. Both licenses are included in the Industrial Collection, but users will need to install both the editor and the plugin and activate each license individually. When installing each component, note the version numbers to ensure they match (e.g., the Pixyz Plugin for Unity 2020 is not officially compatible with Unity 2021).

Once the installs and activations are complete, the Unity Editor menu will include a Pixyz heading, like so:

The Unity Pro editor with Pixyz Plugin installed.

While there is a native import function in the Unity Editor, Pixyz supports many more formats, provides much more advanced functionality and should be preferred when importing all 3D models.

Upon selecting a model to import, Pixyz offers a number of parameters to customize what is imported and how. Users can adjust the scale and axes (Unity is left-handed and Y-up), choose mesh quality, generate UV maps and more, as well as save custom import settings for re-use.

The Pixyz Plugin import model dialogue window for a CATIA assembly file.

“There are 140 algorithms inside Pixyz Plugin to not only import and optimize, but also to transform all that 3D data,” explained Jerome Maurey-Delaunay, senior technical specialist for industrial applications at Unity. “It’s really one of the key components that makes Unity relevant for most industrial customers.”

For instance, Maurey-Delaunay elaborated, users importing a CATIA assembly can choose whether to bring in the entire part tree, merge parts sharing the same material or merge all parts into a single object to optimize rendering performance in Unity. Users can also repair instances (create one instantiation of similar parts) and select an appropriate mesh size on import. The benefit is that users do not have to optimize their model in CATIA (or any other modeling application), but can adjust the model in Unity to suit whatever real-time 3D application they are developing.

Workflow Automation with Pixyz

One powerful feature of the Pixyz Plugin is the ability to define custom rule sets to act on imported models. For example, users can define a rule that automatically applies specific materials based on the material of a given imported part. In the rule set shown below, several different Unity materials are applied based on the colors associated with the imported model of a brake assembly. Additionally, the pivot point of the assembly is automatically shifted as part of the same rule set.

Pixyz rule sets can be very sophisticated, combining numerous rules for adding properties, modifying objects, meshing and remeshing models, adjusting metadata and much more, including custom actions defined by a user in C#. These rules allow Unity users to finely customize what happens to their model on import in order to skip tedious, manual readjustment. For 3D models that are in the design phase and routinely being adjusted, custom rules combined with custom import settings allow Unity applications to be up-to-date with the latest design in just a few clicks.

"Industrial customers are constantly revising their products. Some quoted up to 60 times a day on large datasets," Maurey-Delaunay mentioned. “If you want to do a design visualization inside Unity, you’ll have to re-import this data, and then you’ll again have to go through swapping materials, optimizing, etc. This is where these rules come in—once created, you can do this all automatically.”

The custom Pixyz rule set, as shown above, before (left) and after (right) applying a material swap to an imported brake model.

Many of the actions available in the Pixyz Rule Engine are also available in the Pixyz Toolbox, which allows users to adjust any selected model in the scene at any point (rather than post-import, as with the Rule Engine). Any custom actions written for the Rule Engine will also be available through the Toolbox.

“I can select any objects inside my scene and use the Pixyz Toolbox to work with my data directly inside the Unity Editor, without having to go to an external 3D tool,” Maurey-Delaunay said. “It makes a tremendous difference when you’re working with these types of datasets day in, day out.”

Rendering Efficiency for Real-Time 3D

Applications developed in Unity can be deployed to multiple platforms (more on this in Part 2), but one of the most interesting is augmented and virtual reality. Users looking to create applications for the Microsoft HoloLens, for example, must be aware of the hardware limitations of this device. While high res meshes and accurate finite element analysis are fine on a high-end workstation, real-time 3D applications typically require efficient optimizations. Thankfully, Unity and Pixyz make this easy.

Level of Detail, or LOD, is an important feature of Pixyz that allows users to automatically adjust models based on their location in the application viewport. Users can configure up to four different LODs based on the visibility of a model as the camera zooms in and out. Unity will automatically change the mesh density and other properties of the model as each LOD boundary is crossed, with end-users never noticing the switch. As with the Pixyz Rule Engine, LOD rules can also be saved and applied to other models.

Example of a user-configurable LOD process in Pixyz.

A similar technique is used for point cloud data, which can contain millions of individual points that will strain limited hardware. Upon import of point cloud data, Pixyz can segment the data into smaller chunks defined by the user. For instance, a 10 by 10 segmentation would split the point cloud into 100 discrete volumes. In this way, a real-time 3D application can load and render only those points that are within an end-user’s field of view, a technique called occlusion culling. The number of points in a given segment can also be decimated based on camera zoom to increase rendering efficiency without sacrificing quality.

Example of a point cloud in Unity segmented into several parts (revealed by the tree on the left).

Coming Up: Development and Deployment

In this article, we’ve examined the Unity Industrial Collection and shown how Pixyz can be used to import and optimize CAD, BIM and point cloud data. In Part 2, we’ll take a closer look at how Unity is used to develop real-time 3D applications and how users can build and deploy them.

In the meantime, you can learn more and try it for free for 30 days at Unity.com.