PaperSkeleton
NOTICE: Upon purchasing, you agree to the PAPERSKELETON - COMMERCIAL LICENSE.
---
PaperSkeleton is a Godot addon that enables you to render Skeleton2D setups into a 3D environment with relative ease. Has plenty of potential applications in 2.5D games.
The PaperSkeleton node can be used to select the node containing the Polygon2D nodes that are bound to its Skeleton2D, reconstructing it into identical skinned 3D meshes that are bound to a Skeleton3D. The bones of the Skeleton3D will mimic all the movements of the Skeleton2D, creating a workflow that allows you to adjust the asset's animations within the 2D viewport. Furthermore, adjustments to the Polygon2D's color, texture, UV offset, UV scale, and UV rotation, are also reflected in the 3D mesh. This is accomplished via specialized shaders with uniforms that are automatically applied and updated. Different shaders and shader includes are bundled in to help streamline the process of creating your own custom shaders that are compatible with the PaperSkeleton node.
Unfortunately, skew transformations do not work for the time being. The current solution is not perfect due to the way Skeleton3D transformations work, so skew transformations will simply remain incompatible, at least for now. While there are potential workarounds I can consider (mainly involving vertex shaders and additional bone updates), it would likely come at the cost of performance, and my sanity.
Additionally, other adjustments to the Polygon2D post-mesh generation, whether that be manipulating the transform, vertex offset, bone and weight data, UV array, polygon array, or polygons array, (yes, "polygon" and "polygons" are two different arrays) will not be reflected in the Polygon2D's equivalent 3D mesh, due to such changes requiring the 3D mesh to be fully reconstructed, and I would not want to encourage users to utilize creating animations that would lead to poor performance. You can still achieve similar (if not identical) effects by setting up the rig properly, or by using shaders. For this reason, it is also highly recommended to fully create your 2D rig before rendering it into 3D with PaperSkeleton.
When selecting the Polygon2D group node, make sure that all of these qualifications are met:
- A proper Skeleton2D is assigned to each Polygon2D.
- Each Polygon2D shares the same single Skeleton2D (setups with multiple Skeleton2Ds aren't supported, and aren't really necessary).
- Each Polygon2D and Bone2D node have their own unique names.
- The Skeleton2D's global transform needs to be equal to identity. (meaning that it should be at default position, scale, and rotation, and shouldn't be the child of anything that adjusts these values).
- While not a qualification, please note that it's not necessary for the Skeleton2D to be in the Polygon2D group node. Its path is already retrieved from one of the Polygon2Ds.
This addon includes two next pass shaders:
- Basic Border generates a border based off the silhouette of the texture applied to the Polygon2D nodes, and places it behind the 3D rig. Because this expands from the original textures, this will require sufficient empty space around the texture in each Polygon2D.
- Pseudo Depth creates a slight rim, helping the asset appear as if it were made from cut paper. Due to this applying identically on every generated mesh, this will require manual adjustment of the index offset uniform if a clean look is desired.
While I squashed every single bug that I've come across and made sure to reasonably test as many features that I could remember, please feel free to inform me in the discussion below if you come across any, or if you have any other kind of feedback.
Made for Godot 4.3. Versions 4.1 and 4.2 have not been tested.
Demonstration character designed by @NightFawnArt.
Updated | 1 day ago |
Published | 2 days ago |
Status | Released |
Category | Tool |
Platforms | HTML5 |
Author | BunkWire2X8 |
Made with | Godot |
Tags | 2D, 3D, addon, Animation, Godot, godot-addon, godot-addons, Modeling |
Purchase
In order to download this Godot addon you must purchase it at or above the minimum price of $10 USD. You will get access to the following files: