1.4.2 - Decal Dedication
Continuous improvement of the Decal Pipeline
This release fixes a number of issues, improves and refines many existing tools as well as adds 2 major new tools.
Reconstruct Panel Cutter
There's Reconstruct Panel Cutter, which takes an all-quad panel decal and builds a cutter from it. Unlike the Extract Source tool, which brings back cutting objects used for Topo Slice and Float Slice, Reconstruct Panel Cutter also works for panels created via Draw Slice, for manually built panel decals or for panel decals joined from a number of other (simpler) panels. Reconstruct Panel Cutter's resulting mesh will perfectly match your panel decal and can then be used for Material Cutting or Material Decaling.
There's also Surface Fix, which can be used to remove unwanted shading artifacts. This is achieved by maintaining a separate surface source mesh(similar to how WStep maintains a separate normal_src mesh) and transferring its normal information to vertices masked by a vertex group.
There's a few minor new tools such as Edit/Commit Normal Source and Edit/Commit Surface Fix, which can come in handy when working with WStep and Surface Fix. There's also an Unlink tool - for now only accessible via the space bar menu - which can quicky stash an object away without cluttering the scene, to be used as normal source meshes for either WStep or Surface fix.
Extract Source, now has an option to remove the decal you are extracting the source from. This can save some clicks and avoids tricky selections.
Furthermore, Extract Source now automatically unparents the extracted source.
Wstep has been extended and allows choosing the mapping method used in the DataTransfer mod. There's also a new option to allow hard edges, which creates a secondary DataTransfer mod and masks it using a vertex group.
Material Cut has been improved to include a threshold value, used to merge duplicate vertices.
By default, Material Cut marks edges as seams. While this is great to separate out areas that are to receive different materials, it will also influence how UVs are laid out and force separate UV islands.
To circumvent this, you can now mark Material Cut edges as Freestyle edges. This is just to mark them, and make it easy to select them later.
There's two new tools called "Convert Freestyle to Seam" and "Convert Seam to Freestyle" accessed via the spacebar menu, to manually convert one into the other.
Also, the Unity, Unreal and Unpacked export targets support treating Freestyle edges as material seams, without manually converting them.
Rotate Decal now has an axis option, which can be useful in some situations.
Most of the supplied info decal textures have been inverted to be white instead of black and so the invert slider in the info decal materials is now 0 by default.
Textures for decals02-32 - decals02-37 have been replaced with higher quality versions.
MACHIN3shaders(for the unity export) now include a "Blend Surface Normals" parameter, which mixes normals of the materials under the decals with the decal normals. This works perfectly for Info Decals. It's a hack for the other ones, but can produce good enough results.
The Transparency parameter in the info Decal shader has been renamed to Opacity.
Curvature channels in the ao_curv_height maps of supplied panel decals has been improved or re-added. This was intionally removed initially to improve visual integration in Cycles. However it turns out it's really useful to have, if you want to bake it down to control weathering in Substance Painter or Unity.
A 'Combine all-to-one' option has been added to the DECALBakeDown export target.
It overrides per-material-bake-combinations and instead combines bakes of all/selected export groups to one texture set.
The Unity, UE4 and Unpacked export targets have received a "Assign Unique Materials" export option.
This creates unique material IDs based on edge seams found on the model. This means you don't have to manually assign materials to areas they are supposed to receive unique materials before exporting. Assign Unique Materials is also available as a tool called form the spacebar menu. Run it on any mesh that has edges marked as seams.
There's a new 'Create DM_non-decals group' option in the DECALexport pie. This is for pure convenience and can be helpful managing your export groups, decals and non-decals when preparing for export.
The default atlas padding value used when packing a new decal atlas has been exposed and can be set in DECALmachine's preferences.
There's been a number of fixes. See the changelog for details.
1.4.1 - Blender 2.79 + Principled BSDF
2.79 Compatibility Release
1.4.1. started out as the second bugfix release for 1.4, but the 2.79 Blender release caught me by surprise and I was forced to implement some things originally intended for the 1.5 release.
While Blender 2.78 is still supported, I'd generally advice anybody to switch to 2.79 now.
With the Principled BSDF shader being a central part of 2.79, DECALmachine needs to support Material Matching it and so needs to have PBR decals. To achieve this the Match Material tool has been rebuilt from the ground up. It's extremely robust now and supports matching the Principled BSDF shader in addition to the Glossy shader. Operator properties have been added to modify its behavior and allow matching of either the Material part of a Subset Decal or the Subset part, or both at the same time. Similarly, both sides of a Panel Decal can be matched like this. Furthermore, if the target object carries multiple Materials, perhaps as a result of Material Cutting, each of the materials can be matched by stepping through the Material Slot parameter in the operator properties.
Any new decals created in 1.4.1 via either Instant or Batch Decal Creation in Blender 2.79, will be switched to be PBR decals.
Init Base Material will now also create a PBR base material, assuming it's run in Blender 2.79
As a consequence of improving the Match Material tool, the old Get and Set Material tools could be completely removed, as they've become obsolete and redundant.
Update Decal Nodes
To deal with scenes created before 2.79 and 1.4.1, there's a Update Decal Nodes tool, which you can call from the spacebar menu. This will update all existing decal materials in a scene to support PBR shaders. This tool is also automatically run on new Decals being inserted into a scene from the Asset Loaders, as any Decals created before 1.4.1 naturally don't support the Principled BSDF shader and so need to be updated.
Changes and Improvements
Filmic was supported before, but was not native to Blender. Now it is and DECALmachine has added support for it.
The Topo Slice tool now has a twist offset parameter, which can be useful if a panel strip's boundary edge loops don't line up properly.
Panel Transition has been improved and is much more robust now.
The triangulation method for DECALexport has been changed from BEAUTY to FIXED, which seems to resemble the viewport/opengl triangulation and so should avoid unwanted surface intersections after exporting.
The HOps Fix is now a part of HardOps itself making awkward code injections a thing of the past. As a result any Operatives should make sure to update to 'Hard Ops 0093 - Neptunium' before running DECALmachine 1.4.1.
An export group related issue with decals projected on material decals has been fixed. Note that Material Decals should not be exported anyways, cut them into the mesh using Material Cut instead!
The Remove Decal Mode didn't properly clean the open scene of panel decal assets, this is fixed now.
A number of people experienced problems with the Rotate Decal option not working on the slice tools. This was related to them not having selection sync enabled in the UV editor, which now happens automatically. This also caused the Rotate Decal tool to not properly work, when run from edit mode.
The mesh.intersect tool in Blender has been changed in 2.79, which caused the Material Cut and Panel Transition tools to fail. Both are working great with the 1.4.1 update.
Decal and CustomDecal asset paths will no longer resist changes to a custom locations.
Previously (W)Step would throw an exception, if it encountered empty material slots. A safety check has been added to prevent this.
MACHIN3tools: Shading Switch
If you set the Viewport to MATERIAL Shading in 2.79, while working with Principled BSDF metallic materials, you'll noticed that they appear very dark.
A basic PBR metal renders fine, but displays very dark in the 2.79 viewport
If this metallic viewport darkening is too much for you, feel free to use the Material Viewport Compensation feature in MACHIN3tools: Shading Switch.
Notice how the metallic and roughness values are changed, when dropping out of RENDERED
Shading Switch's main purpose is to quickly switch between SOLID and MATERIAL shading, while dynamically remapping the
SHIFT + Z keys.
See MACHIN3tools documentation for details.
1.4 - Decal Domination
The Export Release
Complete Decal Export Pipeline
DECALmachine 1.4 is a huge release and the center piece of this update is the export capability. This turns DM from a mere Blender addon, into a complete pipeline for mesh based decals: experiment, create, design in Blender, but then also get your work out into a number of target platforms, if you so choose.
In addition to the ability to export decals, there's also (W)Step - a tool/workflow to easily create custom vertex normals, which complement the decal workflow beautifully and are used to control hard surface shading without the need for normal maps. Note, it's highly recommended to use (W)Step along side HardOps and its boolean tools.
If you are taking your assets into Unity3D, DM even supplies shaders specifically made to be used with the DM exported decals - it's the whole nine yards.
But it doesn't stop there. The added ability to bake decal textures down into normal maps, ao maps, curvature maps, etc., unlocks a new approach to hard surface texturing, that could augment and in some scenarios perhaps even replace the traditional high-poly to low-poly workflow.
So, how does this all work? The first step in the export process is the creation of an optimally packed Decal Atlas from individual decal textures. This is in essence completely automated, but does allow for some user input, in that you have the ability to change the scale of individual decals in the atlas as well as adjust the padding between them.
Alternatively, instead of creating a new Atlas pack for each new asset, you can also use an existing packing solution you've created previously.
The second step is organizing Decals and their parent objects(called targets) via so called Export Groups. With this in place, decals will be joined, decal UVs will be adjusted according to the atlas packing solution and materials using the atlas textures will be applied - all automatically.
Finally, your complete asset(incl. mesh decals) can be either exported to a number of platforms - such as Unity3D, Unreal Engine 4, Substance Painter and Sketchfab - or decals can be baked down, creating texture maps, that can be taken into any tool or engine you choose.
Expanding the Slice Toolset
1.4 introduces an alternative Slice tool called Float Slice, useful in circumstances were the old Decal Slice - renamed to Topo Slice - has trouble or would fail, particularly on dense meshes.
There's also Draw Slice which is a precursor tool to Float Slice and enables you to manually draw panel strips, by extruding vertices on the surface of an object.
Concluding the additions to the slice tools is the Panelize tool, which makes adding simple decal strip shapes quick and effortless by turning polygon boundaries into panel strips, instead of the boolean-like approach of intersecting an object with a cutting object.
This release adds Operator Properties for the main tools. This makes using DM more interactive, simplifies dealing with unexpected behavior(such as Topo Slice failing) and allows for a greater degree of customizing each tools behavior. Operator Properties can be accessed from the bottom of the
T panel or by bringing up the
Automatic Parenting of Projections and Slices
If you project a decal or create a panel strip via one of the Slice tools, the decals will - by default - be parented to the object you project them on or the object you are slicing. This extends to the Decal Sources as well. So, when you change your objects location, orientation or scale and attempt to bring back a Decal Source, it will be properly positioned, just where you'd expect it to be.
Keymap Settings to Preferences
Changing DM's keymaps is now extremely easy and can be done directly in DECALmachine's preferences.
In addition, all the GPencil tools can now be accessed via
CTRL + D, so there's no longer any keymap overlap between DM and GPencil.
Scene Scale/Unit Settings support
There is a new setting called Force Consistent Scale in DM's preferences, which you should enable, if have experienced very small or big decals when dropping them into a scene in relation to your unit scale settings.
Remove Decal Mode
You can now delete decals from inside Blender, without having to navigate to the Decal Library locations on your hard disk.
Most tools have received small improvements and refinements in their behavior. Standing out from this is Material Cut which is now much more robust and has received Operator Properties to customize the behavior.
Windows 32bit support
Windows 32bit support through PILwin32.zip has been added thanks to Jordan.
Decal Project and through Panel Unwrap the Slice tools will now remove any pre-existing UVs before creating new ones to avoid potential issues.
The main DECALmachine pie menu is from now on keymaped only in Object and Edit modes instead of generally in all 3D Views, freeing the
D shortcut for all other modes, such as Sculpt and Paint modes.
An issue where non-tangent base normals would be created when running Instant Decal Creation has been fixed.
Another issue related to hidden geometry causing very dark AO maps has also been resolved.
Furthermore, Remove Duplicates could in some cases replace custom decal materials with their supplied decals counter parts and was fixed.
Finally, split panel decal strips causing Panel Transition to fail was rectified.
HardOps and MACHIN3tools
If you use HardOps alongside DECALmachine, you should run the HardOps Fix in DECALmachine's preferences.
Furthermore, I'd recommend you use at least some of the tools provided by MACHIN3tools, which is a free continuously evolving collection of scripts. In particular, Mirrror and Shading Switch are particularly useful in combination with DECALmachine and highly suggest you use Red Mode, should you use DECALmachine's custom vertex normal tool (W)Step.
Mirror is the recommended way to mirror Decals across another object. If you are using Rob Fornof's Mirror Mirror and/or my previous Multi Mirror Mirror, Mirror replaces them both.