Home Vue Infinite Fractals Animations Tutorials About Me Links


XD Color Based Texture Maps for Objects

This tutorial describes how to create a texture map based on the original XD coloring for an exported XenoDream object. To showcase the process I used the Spiromotor mk2.xep fractal that you find in your /Data/Artificial/ folder.

XenoDream 2.4

First we will create the point cloud file and the object file. Open the Spiromotor mk2.xep parameter file. XD should look like this:

  1. Select File/Export point cloud to open the export dialog. The colors of the point cloud will be used to create the texture map, so you need a lot of points to get the best possible quality. Use these settings and don't forget to select the Orient to camera option. This ensures that the generated point cloud looks exactly the same as the XD object that we will export later. Click Generate.

A file browser opens and you can choose the destination folder. Name the file Spiromotor.ply. It will be created as soon as all points are generated. Close the dialog.

  1. Now click the Mesh Exp button to open the Mesh Export screen. Click the Mesh Options button to open the Mesh Options dialog. Use these settings and close the dialog with OK.

  1. Render, triangulate and simplify the mesh to create the final object. Save it as Spiromotor.obj file. Close XenoDream.

UVMapper Classic (Freeware)

Launch UVMapper and load the Spiromotor.obj file. You can close the displayed object statistics with OK. You're informed that your object has no UV texture coordinates and what to do next.

  1. Select Edit/New UV Map/Box to open the Box Mapping dialog.

Accept these default settings and click OK to close the dialog. The UV map is now generated and displayed. You can save this map for further reference if you like but it's not necessary for our project.

  1. IMPORTANT! Save your UV mapped object (File/Save Model) adding UV to the file name. In our case the file name should be SpiromotorUV.obj. That way you won't mix it up with the not UV mapped object file. Close UVMapper.

MeshLab 1.3.0 (Freeware)

Launch MeshLab and a new empty project is automatically created. Now we have to go through some steps to create the texture map that shows the XD coloring.

  1. Click File/Import Mesh and load Spiromotor.ply. Click the Show Layer Dialog button to display the layer list. MeshLab should look like this:

  1. In the layer list click the + button to add a layer (if you use MeshLab 1.3.3 just click File/Import Mesh). A file browser opens and you can load your SpiromotorUV.obj file. You'll see that the object file is smaller and in a different position. To get the colors properly transferred the point cloud and the object have to be of the same size and occupy the same 3D space.

  1. With the SpiromotorUV.obj layer still selected (the yellow bar shows which layer is active) go to Filters/Normals, Curvatures and Orientation/Transform: Scale to open the transformation dialog. Use these settings to scale the object:

Click Apply and close the dialog.

  1. After scaling we have to center the object. Go to Filters/Normals, Curvatures and Orientation/Transform: Move, Translate, Center to open the Transform dialog. Use these settings:

Click Apply and close the dialog.

  1. Now we will scale the point cloud to fit the object size. To do that select the Spiromotor.ply layer and go to Filters/Normals, Curvatures and Orientation/Transform: Scale to open the Scale dialog. Use the same settings to scale the point cloud as in step 8. Click Apply and close the dialog.

  1. To make sure that the point cloud also occupies the same 3D space it has to be centered. To do that go to Filters/Normals, Curvatures and Orientation/Transform: Move, Translate, Center and use the same settings as in step 9. You can zoom in if you like using the middle mouse button.

  1. The next step is to transfer the colors from the point cloud to the object. To do that go to Filters/Sampling/Vertex Attribute Transfer and use these settings:

Click Apply and then close the dialog. You'll see now that the object shows the same colors as the point cloud. We're almost done.

  1. Select the SpiromotorUV.obj layer and go to Filters/Texture/Vertex Color to Texture to open the texture dialog. For a better texture quality I increased the width and height to 3000 pixel. Click Apply to save the texture map. Now everything is done in MeshLab and you can close it.

Importing and Texturing

I'll explain this process using Vue Infinite. It should be similar in other 3D software.

  1. Import SpiromotorUV.obj into Vue. The object appears with the Default material applied to it. Double-click the small material preview to enter the Material Editor.

  1. On the Color & Alpha tab select Mapped picture instead of Procedural colors and load the SpiromotorUV_color.pgn file. Confirm the message about the alpha channel with Yes. Reset the Highlight Color on the Highlights tab to set it to black. That way the texture doesn't look too washed out. Click OK to close the Material Editor. Now you see your fractal object with the XD coloring applied:

Additional note: If your fractal coloring shows small details, like for instance stripes, you have to increase the size of the texture map. If it's too small such details get lost. In one case I had to go up to 5000x5000 pixels.

For your convenience you can download the Tutorial PDF file here. Have fun! :)