Before starting

This printer works with both static and skeletal meshes.

It works best if the mesh doesn’t have too few polygons (a cube with only 8 vertex is not a good idea, a low-poly model is ok).

# In the video tutorial a step is missing: Remember to enable two sided to the Printable instance of the material. A new version of the video will be uploaded ASAP.

Instruction

Initial setup

  1. Open or create the actor you want with the mesh you want to print.
  2. Add the BP_Printable component
  3. On the event begin, call the init function on that component and pin the mesh to print.

Materials setup

  1. Check the list of materials in the mesh and note them down
  2. Open these materials (you can also make a copy of them if you don’t want to edit the originals. It’s up to you, but remember that the material function that we are going to add won’t alter in any way the aspect or the performance of the original material. That material function will only be used by the material instance that will enable it) and edit them adding the material function BF_3dPrinting_SolidObject as last block (check the video for that step, remember to use material attribute layout, it’s easier).
  3. Create a material instance of any of these materials.
  4. Edit all the material instances enabling 3dPrinting Enable param and setting it to True.
  5. Go back to the blueprint, select BP_Printable component and add the material instances to the Materials Array, using the same order of the materials in the original mesh.

Test

Drag BP_3dPrinter into a level, set the created blueprint as value for Print Test and play the level.

If it does not work, check the log. Probably the mesh you are printing is bigger than the printable area in the BP_3dPrinter actor. You can resize it extending the actor or editing it. or you can set Ignore Size to true.

If the mesh is not correctly positioned, try disabling AutoRelativeTransform and try again.

If it works, you can use ManualRelativeTransform to correct the position of the printed object.

Use in your project

Clear the Print Test Value, disable Demo Mode (it will print in loop).

To print an actor call Spawn and Print function from BP_3dPrinter. Pass the class of the blueprint you want to print, and all the variables as explained in the Test paragraph.

Video Tutorial

Follow this video to create a printable actor (in this example, I’ll use a complex skeletal mesh)