First look: Fabric Import Patterns

November 8, 2016

Canvas Patterns are rule-based Canvas graphs which perform changes to data procedurally. We’ve been working on a type of Pattern for handling programmatic import of data, imaginatively titled as an ‘Import Pattern’. This Import Pattern offers a range of capabilities for massaging data, including:

  • reducing the data set
  • assembling larger data sets together
  • performing changes to the data set (such as changing materials / changing meshes etc).
A Canvas Import Pattern hard at work on some OpenNurbs data from Rhino3D
A Canvas Import Pattern hard at work on some OpenNurbs data from Rhino3D

 

What are Import Patterns?

An Import Pattern is a set of rules for data being imported, and is not specific to any particular data set. Once the pattern has been defined it can be applied to multiple data sets. For example, if you are building a range of products such as electrical tools, then the Canvas Import Pattern to get the design of an electrical drill into Unreal Engine can be reused for all other designs.

In most content creation applications (such as Autodesk Maya or Rhino3D), importing data is a fixed process. There is an import dialog that offers some options, but you cannot programatically control the process – the rationale is that you change the data once you have imported it. This usually makes sense within your content creation tools (although for large scene management it may not) but it is an issue within a game engine such as Unreal Engine 4 where bringing in very heavy data is laborious and can make each iteration time consuming and expensive. It’s much more efficient to take control of the data at the time of the import. Filtering out objects, merging surfaces or re-assigning materials prior to loading the data can lead to huge savings in time and effort. Canvas Import Patterns provide this capability.

Import Patterns are particularly powerful when importing data between different environments such as moving data from Rhino3D into a real-time environment such as Unreal Engine 4. Canvas provides a powerful development environment for building importer graphs. The video below shows Canvas Import Patterns being used to apply custom filters, merge meshes procedurally and also to create completely procedural imported scenes.

Getting started with Canvas Patterns

If you would like to take a look at this work, it is now available in our daily builds. Full instructions are here: http://forums.fabricengine.com/discussion/17/welcome-to-the-forums-useful-links-where-to-get-fabric-daily-builds-etc – note that the Unreal part of this work is not yet available for testing. If you would like to test the current beta for ‘Fabric for Unreal’ then please see this blog and this one for more information on how to apply.