Papercraft is a versatile tool designed to unwrap 3D models into printable paper templates. These templates can be cut and glued together to form physical paper models, bridging the digital and physical worlds in creative and educational ways.
The primary function of Papercraft is to take a 3D model and generate a printable document with the cut pieces. This is known as unwrapping. Users need to provide a 3D model in the Wavefront OBJ format, which is supported by most 3D modeling tools like Blender.
The interface of Papercraft consists of a dual-view setup. On the left, there is a 3D view of the model, while on the right, a 2D view displays the current unwrapping:
UI
The output of Papercraft is a printable document, typically in PDF format, detailing the parts to be cut out and assembled:
An example of a completed model is the Low-Poly Pikachu:
In Edge Mode, users can manipulate the edges of the 3D model. Clicking on an open edge will snap the adjacent faces together, while clicking on a closed edge will split them. Using the Shift key while clicking allows for joining or splitting entire strips of faces, facilitating the creation of larger pieces.
Flap Mode allows users to manage the flaps used for gluing. Clicking an open edge in this mode will switch the flap to the opposite side, while Shift-clicking will hide the flap.
In Face Mode, users can select and move the pieces in the 2D paper view. This mode disables edge manipulation, making it easier to handle small pieces.
Users can adjust various settings to customize the final printable document through the "Document properties" menu:
Document properties
Papercraft supports various file operations, including importing models, saving projects, and exporting the unwrapped model back into an OBJ file.
The core function of Papercraft is to generate a printable document from the unwrapped model. This can be output as a PDF, PNG, or SVG file, with each format having its specific use cases and features.
Several viewing options are available to enhance the user experience, including toggling textures, 3D lines, flaps, and enabling X-ray selection for easier identification of parts.
The software can highlight overlapping pieces in pink to ensure clarity and prevent errors during assembly.
rs_pbrt is a Rust crate implementing the PBRT book's C++ code for physically based rendering.