1.4 Update - Major Flipping Overhaul


Changes:

  • Changed mesh offset in shaders so that their z-index inversion is now entirely dependent on which face you view it from.
    • This essentially means that there should be no more "ugly side" for the model, which is a considerable improvement over the previous system, which involved outdated workarounds that had its own limitations.
  • Changed mesh offset in shaders to be normal-dependent instead of Z-space dependent.
    • This essentially means that there should be no more "ugly side" for the model, which is a considerable improvement over the previous system, which involved outdated workarounds that had its own limitations.
  • Flip textures are now shader-dependent, necessitated by the first change. Uniforms are `auto_albedo_flip_texture` and `auto_albedo_flip_texture_exists`.
  • Unfortunately, this major flipping overhaul comes at the cost of the fact that now all custom shaders need to be edited to fit with the new system. This means that you'll need to look at the updated default shader code and copy the changes from there into your custom shaders. If you haven't made any custom shaders, then this tidbit probably shouldn't worry you.
  • Changed `psuedo` in `paper_np_psuedo_depth.gdshader` to `pseudo` because that's how you actually spell it (whoops).
  • Made the offsets in the pseudo depth shader also normal dependent.
  • Made it so that textureless meshes can still use the pseudo depth shader, in case if you have a niche use case for that.
  • Minor optimization in the pseudo depth shader to stop sampling gradient values if the border alpha value isn't greater than zero.
  • New `auto_mesh_z_group_micro_idx` float uniform that allows grouped meshes to have their own small spacing modifier. Now using `float(auto_mesh_z_group) - auto_mesh_z_group_micro_idx` as the custom index instead of `float(auto_mesh_z_group) - 0.5` will heavily reduce potential z-fighting. This only affects the built-in pseudo depth shader.
  • New variation of the pseudo depth shader that's view-dependent instead of having a static offset, meaning that its fake depth is much more convincing.
    • The original version of the pseudo depth shader has been renamed to "paper_np_pseudo_depth_static.gdshader", while the newer one has taken up the previous name.
  • Minor optimization in `paper_func_outline.gdshaderinc`'s `generate_outline()` function to stop sampling offsets if the accumulated alpha is already greater than one.
  • Fixed update calls to some UV values' "set + update" functions in PaperPolygon2D not being there.
  • Undid some static assignments that only caused issues upon export for some reason.
  • Added the ability to select the ShadowCastingSetting and GIMode of the PaperSkeleton rig.
    • `SHADOW_CASTING_SETTING_DOUBLE_SIDED` and `GI_MODE_DISABLED` are also now set as default.
  • Implemented an EditorExportPlugin to make sure that the `plugin.cfg` file gets exported by default so that it won't need to be manually selected when exporting.
  • Removed `space_invert` property due to it being effectively useless due to new changes.
  • The modifiers of `paper_rotate_flip` (layer space reduction and bone modifier retraction & flipping) can now be individually toggled.
    • Layer space reduction now turned off by default.
  • Changed `auto_params` from a PackedStringArray into a static dictionary containing StringNames and Callables for hopefully more scalable code.
  • Made some things in `ShaderParser` static to carry over parsed information from other PaperSkeleton instances.
  • Made PaperSkeleton's config and default shader values static so that they aren't individually loaded into every PaperSkeleton instance.

Files

PaperSkeleton 1.4 5.3 MB
19 days ago

Get PaperSkeleton

Buy Now$10.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.