PFTrack 2017 Texture Maps – The Unity Workflow


Texture maps are used to enhance the features of an object, recreating the effect of a high resolution model after mesh simplification. PFTrack 2017 has seen the introduction of Texture Map Extraction directly from the Photo Mesh node. The updated functionality of the Photo Mesh node will deliver faster, better results than before. Occlusion, Normal, Displacement and Colour maps can now be generated during the mesh simplification phase of the photogrammetry pipeline. The maps are created by comparing a simplified triangular mesh to the high resolution original; for more information about mesh simplification in Photo Mesh, please visit the Utilising PFTrack’s New Photogrammetry Toolset tutorial. More detailed descriptions of the toolset can also be found in PFTrack’s reference documentation.

Importing Into Unity

To use a texture map generated in PFTrack, it must first be imported into Unity. Importing texture maps can be achieved in several ways: right click in the ‘Project’ window (preferably in a ‘Materials’ folder that was created during the initial setup of the project), select ‘Import New Asset’, locate the relevant file select it. Alternatively, this option is available through the ‘Asset’ window found at the top of your screen. New files can also be drag-and-dropped directly from the desktop into the ‘Project’ window.

Here we show the material inspector window. When importing a model created in PFTrack into Unity, a material will be auto generated and assigned to the object’s ‘Material’ subfolder. For ease of use and to avoid unnecessary asset clutter you can use this dedicated material to apply your model textures. After you have imported the various texture maps into Unity, they must be applied to your material which is then automatically applied to the corresponding model. Textures can be applied to a material by selecting the circular icon to the left of the texture name – as pictured below; from there a ‘Select Texture’ window will appear and the appropriate texture can be assigned to its slot. Another way to do this is to drag-and-drop the texture directly onto the object itself, for this to work the object must be present in the ‘Scene’ window.

Normal Maps

Normal maps, unlike the other texture maps generated in PFTrack’s photogrammetry pipeline, need to be defined as such at this stage or they will not be used correctly by Unity. To do this, the ‘Texture Type’ must be changed in the ‘Inspector’ window.


Normal maps can be created as ‘World’ or ‘Tangent’ during the mesh simplification phase of the updated photogrammetry pipeline. These different options refer to the type of coordinate systems used to represent the directions in the normal map. Different coordinate settings have been included in PFTrack’s updated Photo Mesh node to aid in compatibility between 3D applications. Unity is compatible with ‘Tangent’ normal maps as it stores directional values using the Mikk coordinate system. This option allows users to easily change the type of normal map to accommodate external applications. ‘World’ normal maps are available in PFTrack if users wish to export files to applications using an alternative coordinate system.

In Conclusion

Overall, the updated Photo Mesh node has pushed PFTrack’s photogrammetry pipeline one step further. Building on the Mesh Simplification and Texture Extraction updates of 2016 which allowed users to manage the triangle count of their models, the Texture Map Extraction features now allow users to create a simplified model that retains the aesthetic of the high resolution original. See below, images from a photogrammetry workflow showing Marden church.

Original – 12.7 million triangles

Simplified Mesh – 10,000 triangles

Normal Map

Occlusion Map

Textured model – 10,000 triangles

Learn PFTrack For Free

Get a Personal Learning Edition of PFTrack to work through our tutorials, free of charge.

Find Out More

Related Posts


Submit a Comment

Your email address will not be published. Required fields are marked *

Share This

Share This Post On: