1.2 Update - Linear Subdivision, Bone Attachments, Flip Textures, and More...
PaperSkeleton » Devlog
TL;DR for just a summary of the bigger changes: Shader uniform displays now have grouping, PaperBoneAttachment3D has been added, generated 3D meshes can be linearly subdivided, new "flip texture" functionality, meshes and materials are now cached into scene data, bone modifiers fixed, and simple example scene is now included.
Changes:
- Removed group bool param support. If you don't know what those are, don't worry, as they were kind of a weird, arbitrary gimmick.
- Added support for uniform groups, which were a thing, and somehow I completely missed this. Relatively easy to implement, even.
- Next pass shader property needed to be moved to the top of the shader param list, lest they accidentally became part of the last uniform group.
- Multiple modifications have been made to `paper_complex_shader.gdshader`, changes include:
- Removed the "group_" prefix from all bool parameters.
- `clearcoat` renamed to `clearcoat_value` due to previous change.
- Added uniform groups to shader to help organize.
- After becoming more experienced in shaders throughout the past year, I've realized that `(tex.r + tex.g + tex.b) / 3.0` is a really overcomplicated way to retrieve values from PBR texture maps, so I've replaced all instances of that with just `tex.r`.
- Added comment emphasizing that the shader is intended to be more of an experimental example that game devs can build on to make their own specialized character shader for their own game.
- Clearly, these changes are breaking, so I apologize if this conflicts with any existing setups. If you don't want to break any existing changes that involve using this shader, you are free to replace it with the previous version's file.
- Removed `_add_global_shader_parameter()` and `_add_local_shader_parameter()` from PaperSkeleton's property manager. Those two functions aren't actually meant to be used, as they are earlier implementations that I kinda just forgot to remove.
- Inspired by the needs of a previous request, a new `PaperBoneAttachment3D` node has been added, which allows you to easily attach 3D nodes to the PaperSkeleton setup without needing to make a custom script.
- It auto-selects whatever first is in its parent hierarchy is detected as a PaperSkeleton node, though this can instead be assigned manually if needed.
- The bone is selected through input of its relevant name or index.
- Can optionally copy the Z position of a mesh instance by selecting its equivalent PaperPolygon2D or by manually typing it.
- To assist with the previous addition, `skeleton_constructed` and `skeleton_deconstructed` signals have been added to the main PaperSkeleton node, which sends a signal when the 3D skeleton is generated, and cleared.
- PaperPolygon2Ds now have two new properties:
- The first is the "Subdivision Level" property, which lets their equivalent 3D mesh be linearly subdivided upon generation. This was just made in case if the user wants to implement custom vertex shaders. Has the side effect of having to interpolate weights in the subdivided meshes' new vertices. This will intoduce smoothing around certain joints, which may or may not be desirable depending on how the model is rigged.
- The second is the "Flip Texture" property. When this is set, the PaperPolygon2D's equivalent 3D mesh will swap out its main texture for it whenever the PaperSkeleton is "flipped". This is very helpful for when text or other asymmetrical design choices are present on a model, so you don't need to see it flipped incorrectly half the time.
- ArrayMeshes, ShaderMaterials, and `polygon_bone_data` are now cached into scene storage so that PaperSkeleton doesn't have to always generate the meshes, materials, and `polygon_bone_data` upon loading the scene.
- Getter and setter functions for shader parameter related data have their `param_name` and `polygon_name` function parameters correctly typed as StringName instead of String.
- Dictionaries and arrays, where applicable, are now more statically typed.
- Fixed small bug in PaperBone2D where it would try to update the PaperSkeleton's bones even when it wasn't yet constructed.
- Fixed large bug where bone modifiers didn't work at all due to a change in the previous update. Really sorry about that.
- Simple example scene is now included with a simple setup. The example scene in question isn't exactly "game ready", but it mainly exists to just be, well, an example of how to set up the addon.
Files
PaperSkeleton 1.2 (Download this one) 5.3 MB
2 days ago
Get PaperSkeleton
Buy Now$10.00 USD or more
PaperSkeleton
Renders Godot's 2D skeletal meshes into 3D skeletal meshes. Perfect for 2.5D games.
Status | Released |
Category | Tool |
Author | BunkWire2X8 |
Tags | 2D, 3D, addon, Animation, Godot, godot-addon, godot-addons, Modeling |
More posts
- 1.1b Update - Shader and Bone Fixes28 days ago
- 1.1a Update - Quick Patch33 days ago
- 1.1 Update - Slight Restructuring + Quality of Life Changes34 days ago
Leave a comment
Log in with itch.io to leave a comment.