A small feature release, 2.7 raises the minimum Blender version to 3.3.
So use Blender 3.3 LTS from now on with this version please.
Dropping 2.93 LTS support allows me to finally supply DECALmachine with decal assets that work out of the box again, thereby skipping the mandatory update process, that was required since Blender 3.0, and was necessary to accommodate 2.93 LTS users.
Panel Decals from info Trimsheets
This update fixes an issue where panel trims/decals created from pure Info-Trimsheets (so using color- but no normal-map), weren't accessible from the Adjust tool for panel cycling.
For decal creation you can now also enable 16-bit normals in the addon preferences, in the Decal Creation tab.
This should hide artifacting, especially on highly reflective decal materials.
Note however, that any Atlases created from these 16-bit normal decals, will still fall back to 8-bit normals. This is due to a limitation in PIL unfortunately.
experimental float normals for decal creation
UI and Documentation tweaks
Furthermore, developer extraordinair proxeIO has submitted a patch to improve how decal libraries are drawn in the pie, enforcing square thumbnails.
And finally the docs received a minor face lift and now feature collapsible sub menus in the navigation bar.
how to get DECALmachine support
This is a tiny bugfix release. It provides a workaround for a Blender issue, that has expanded in scope with the 3.2.2 release.
This was causing modal HUDs to be drawn off-screen for the Adjust, Unwrap Trim, Match and Panel Cut tools.
Blender 3.2 breaks material matching if Decals. This tiny bugfix releases resolves it.
Yet another bugfix release, this time fixing a uber-rare issue where the addon preferences or Decal update panel could become very sluggish.
I've also added small, one-time thank you message, when opening the addon preferences for the first time.
Besides a few minor tweaks and adjustments 2.6.2 resolves a MacOS issue when registering Atlases caused by .DS_store files
This is a hotfix release, dealing with an issue introduced in Blender 3.1 / Python 3.10. Atlasing and Decal-from-Text-Creation were affected by this, and will now work again.
This is the Blender 3.1 release.
In addition to 3.1 support, 2.6.0 also introduces the concept of corrupted libraries in an effort to further harden asset registration and prevent user errors.
DECALmachine always assumed that any folder in a decal or trim sheet library, contains a decal or trim decal accordingly.
If instead there are any other user-placed folders, DECALmachine will now no longer register the library and will also not attempt to update it.
Oh, I also have a Patreon account now, where I will do pre-releases of upcoming addons, and where I share blend files, if I manage to find time for art. So if you are interested in further supporting my work, that would be a good way to do it. It is very much appreciated! Thank you for considering!
This is a bugfix release, that with one exception addresses only Blender 3.0 related issues, so it's completely optional for Blender 2.93 users.
The exception is what I'd call a visual bug in the Decal shaders for simple, subset and panel Decals.
AO affects Roughness, but needs to be clamped
This issue has been present for a long time, but it's pretty minor and rarely noticeable, as evidenced by the fact that is hasn't been reported until now.
All supplied assets have been updated to clamp the AO/Roughness. Newly created User Decals will also no longer have this issue in this version.
If you want to fix existing Decals you've created yourself or got from a third-party, you can do this using the Fix AO Clamping debug tool.
Note, that I don't consider this a decal asset update per-se, and so there is no decal version change here. The fix can be used in 2.93 and 3.0, and for each version, only the currently registered Decal Libraries will be affected.
Enable DECALmachine Debug mode, then find the Fix AO Clamping tool in the main Panel
A complete list of all fixes can be seen in the changelog.
This is the Blender 3.0 release. Note, that at the time of this release, Blender 3.0 is still in beta. Alongside 3.0, Blender 2.93 LTS is still being supported, but support for any earlier versions is dropped now.
This release also no longer relies on Blender's bgl module for VIEW3D drawing.
However, if you want DECALmachine to draw smooth, anti-aliased lines, you need to enable Use Legacy Line Smoothing in the addon preferences, which still uses bgl.
Asset Update (Blender 3.0 only)
Blender 3.0 introduces 2 new node inputs on the Principled BSDF shader node.
And although I doubt many people will actually use them, an asset update is required to properly support these inputs for material matching.
Since Blender 2.93 does not have these node inputs, the asset update will only be available in Blender 3.0.
And so understand, that DECALmachine 2.5 on Blender 3.0 will expect differently versioned Decals and Trim Sheets, than the same DECALmachine version run on Blender 2.93.
Also understand, that once you have updated your decals to the new version in Blender 3.0, you won't be able to use those same Decals in Blender 2.93 anymore.
Keep in mind
There is no downgrade tool, so make a backup of your existing decals, before you update them, if you want to keep them for later use in Blender 2.93.
As an unfortunate consequence of this, the supplied example assets provided by DECALmachine are not updated for Blender 3.0 yet, as otherwise they wouldn't work in Blender 2.93 anymore.
So if you install DECALmachine 2.5 on Blender 3.0, the first thing you will have to do is update all assets. This is conveniently done from the addon preferences.
the batch updater in the addon preferences
Blend File Update
If you want to continue working on blend files created with previous DECALmachine/Blender versions, you need to update those blend files as well.
Before you update blend files, make sure you have updated the Decal and/or Trim Sheet libraries first!
Updating blend files is done from the Update Panel in the 3D view.
The Validate tool has been updated to identify the latest decal version - which is 2.5 in Blender 3.0. If the tool encounters an incompatible version, it will now also point out the expected version, depending on the Blender version you use.
If you are updating from a previous version of DECALmachine, I recommend doing the installation in the filebrowser, as it allows you to keep your existing addon preferences intact.
Decal, Trim Sheet and Atlas registration continues to become more robust, and DECALmachine is now much more picky about what it does register and what it doesn't.
This is an attempt to avoid various user errors, and simplify debugging of related issues.
To help with any failed registration attempts, there is now more verbose output in the system console, as well as in the system info generated by the GetSupport tool.
There will also be warnings in the addon preferences accordingly(also seen above).
Decal and Trim Sheet Material Deduplication
This version improves deduplication of Decal and Trim Sheet materials. Dedplication always happens automatically in the background, and the improvements should lead to viewport performance improvements, especially in scenes with many Decal or Trim Sheet Materials - although I haven't done any testing in that regard.
Furthermore, I've resolved an oversight, which caused no deduplication happening at all, when initiating Trim Sheet materials on objects without any existing material.
A small bugfix release in response to Blender 2.93.4 breaking the TrimCut tool.
This release also addresses some some rare MacOS and Linux issues, that have come up.
This release focuses mostly on improving the general workflow in DECALmachine and it tries to iron out various usability kinks. A lot of this in direct response to user suggestions, so thank you for providing feedback, and a big shoutout to funcom.
Starting off with decal creation, you can now easily name info decals created from images, based on the source images' file names. With a decal name taken from the source file, or when when using a custom name, you will now also have the option to skip the index.
Furthermore, subset components on normal mapped decals can now be stored with a custom material - instead of the default metalic one - directly on the decal asset file.
Library Visibility + Presets
Decal and Trim Sheet Library management has been improved by the introduction of visibility toggles accessed directly from the 3D view, as well as visibility presets.
Adjust Decal has been tweaked to avoid undesired height changes, as well as to support cycling through a small subset of registered panel decals, instead of all of them.
Transferring UVs/Textures aka Texture Matching
Matching textures has always been possible, however I was hesitant to automate it because a decal parent's material can have arbitrary levels of complexity, and supporting every node tree setup under the sun is just not feasible and risks significant performance degradation.
That's also why I was encouraging for 3rd party material addons to support DECALmachine, instead of the other way around. It's easy for them as they are in control of their own complexity and all that's required there is plugging in their nodes into the decal group nodes.
2.4 now supports texture matching a very specific node setup: UVed Image Textures directly connected to a Principled BSDF shader node.
This can be further automated in future, but for now it's done manually using the Transfer UVs tool.
Longtime DECALmachine user and contributer of the DECALmachine 1.8 promo image varzov has released a massive city scape kitbash set, great stuff!
After her excellent decal pack, Carol Sung is back with a fantastic tutorial covering HardOps, BoxCuttter, MESHmachine, DECALmachine and MACHIN3tools, check it out!
My God, it's full of Decals!
There have been quite a number of decal packs released since the DECALmachine 2.3 release! You guys have been busy!
Fabio Fernandes' Tech Essentials
VertexPolyFort aka Sady Fofana's Tech Info Decals
ihara saikaku's Memento Aurora Stamp and Seal Decals
Mark B Tomlinson's PWR Decals
Sanctus' 350 SciFi Decal Pack and S-Pack 01
varzov's SciFi Cityscape Decals
Nika Zautashvili's DP05 / Oxy Out and DP06 / Pattern Pyx
Daniel Glebinski's Mechanism Decals and 22 Nuts & Bolts
Nicolas Gauchon's SciFi Space Mylar Decal Pack
Lobo De Guerra's Warwolf Info Decal Pack 01 and Warfolf Decal Pack 01
20two SYMBOLS VOL 001
Finally, and as almost always, there have been various tweaks and fixes, which you can check out in the changelog.
This is a small, mostly bug-fix release. See the changelog for details.
Of note is the addition of forced UUID support for advanced decal creation.
While the majority of users will want to leave this option disabled, it can be used in pipelines, that build on DECALmachine's decal UUIDs and that require a lot of iteration. Enabled, forced UUIDs will ensure UUIDs are re-used, whenever a decal is re-created from source geometry, that was previously used for decal creation.
New Decal Packs
2 new Decal Packs have been added to the decal resources section, check them out:
Ihara Saikaku's Memento Aurora Heart Decals
Yigit Kilinc's Sleek Sci-Fi Decal Pack
If you are updating from a previous version of DECALmachine, please note the installation instructions in regards to updates.
Keep in mind
Blender 2.93 is currently in very early alpha state.
Being the next LTS release, it will bring various deeper changes - incl. a new Python version - many of which are potentially addon-breaking and have broken DECALmachine 2.1 already.
While 2.93 won't be officially supported until it nears its stable release, DECALmachine 2.2 does seem work with recent alpha builds. Until it doesn't..
Sweep Decal Backups
GPU Decal Creation
It's now possible to use the GPU when creating decals.
It's amazing to see that DECALmachine users have been busy creating and sharing decals.
Check out these awesome new decal packs, and visit the decal resources page for more.
Nick Burton's 50 Sci-Fi Decals
Mirko Sinjeri's 20 Sci-Fi Emission Decal Pack
Exorsis' Free Sci-Fi Decal Pack
Carol Sung's 80+ Decals Pack + Demo 3D Model
Mark B Tomlinson's Latch Decals
Anesthesis' Sci Fi Buttons/Switches
Tomas Krajcovic's Sci-Fi Emissive Decal Pack 2
Nika Zautashvili's DP03 / Nux Null
There's been a bit more work on UI and future proofing, which you can see in the changelog.
Blender 2.91 introduced the Emission Strength input on the Principled BSDF shader.
Decal materials in DECALmachine build on this shader and expose most of it's inputs to the decal group's inputs.
And so DECALmachine 2.1 introduces full support for Emission Strength, even going back to Blender 2.83 and 2.90, which don't provide that input on the Principled BSDF node.
Batch Update Decal Libraries
To enable this, all decals you may have created in DECALmachine 2.0.x will need to be updated. You can still follow a process identical to the previous approach of updating Decals created in 1.8 - 1.9.4 for DECALmachine 2.0.
Or you can use the new BatchUpdate tool, which will update all Decal libraries - including Trim Sheet libraries - created in DECALmachine 1.8 - 2.0.1 in one go.
With the new BatchUpdate tool, and it's availability directly from the addon preferences, you can now also import legacy decals from the preferences, without the popup telling you that it can't be done.
Just import any 1.8-2.0.1 library or libraries, and update it/them with a single button. Easy.
Note, that I have removed the ability to update Decals created in DECALmachine 1.4.x/Blender 2.79. If you still have to do this, do it before you install DECALmachine 2.1.
Set Trim UV Layer Index
There are also a few improvements, including the ability to choose in the addon preferences, what UV layer to use for Trims Sheets, as well as a workaround to prevent an annoying and as of yet unresolved Blender undo crash.
Check out the changelog for details.
Installation / Update from 2.0.x
This is how I'd suggest to install if you are updating from version 2.0.x.
- open the addon preferences and find DECALmachine 2.0.x
- if your assets path is not pointing to an an external location(outside of Blender's addons folder), change that now
- pick a different folder and all your assets will automatically be copied to your chosen location
- deactivate DECALmachine(don't remove just yet!), save your preferences, and restart Blender
- open the addon preferences, remove DECALmachine 2.0.x and install DECALmachine 2.1 from the zip file
- change your assets path to your external location
- if you had any custom Decals or Trim Sheets among your libraries, DECALmachine will detect it now and offer to update them all at once
The 2.0.0 release has proven to be extremly solid, and so more than a month after the release, only a handful of rare issues required tweaking or fixing.
Check out the changelog for details.
And so first and foremost, I want to thank everybody who was patient, supportive and encouraging along the way.
I want to welcome and thank all the new DECALmachine users who bought DM over the past year too. You have financed this endeavor in large part.
3 people have been instrumental in the development of this release by testing and providing essential feedback:
DECALmachine 2.0 would not be in the state it is in without them, so thank you guys!
Thanks also go to Ponte Ryuurui and Josh Gambrell aka the Blender Bros, whose constant stream of educational videos definitely generated interest in my addons, in times when my output was limited to endless previews.
They have a new free Decal Pack for DECALmachine 2.0 available right now!
Last but not least, I want to thank the Blender developers, as their constant innovation, enabled some of the things in this release in the first place, specifically the fantastic gizmo system.
So what's actually new then?
A lot is new. The amount of code has doubled since 1.9.
And that's because the two main features of version 2 - Atlasing and Trim Sheets - both go deep and are fairly complex.
Thankfully, the complete rewrite for 1.8 and so Blender 2.80, set me up perfectly for this.
Complex in code, but hopefully not complex for the user. I did my best to make these features as simple to use and as accessible as possible. And so with the update in code, also comes a major update in documentation. There are 30 new videos - over 3 hours of new content.
In addition, Decals themselves have also received an update and now support emission and transmission (and transparency).
To facilitate this, you need to update your Decals created in previous versions.
Existing tools like Decal Creation, Match Material, Adjust etc. have been updated to support the new Decal materials.
Installation & Support
Please check out the installation instructions, especially if you have a previous version of DECALmachine installed!
For this and the following videos, I highly recommend you check out the relevant pages in the docs, instead of just watching the videos, as the docs provide context and additional information.
DECALmachine 2.0 is all about getting your Decals from Blender to Unity, Unreal Engine or any other game engine. It's the export release.
Baking was introduced in 1.9, but still has issues outside of my control. But baking Decals was never an optimal workflow anyway.
Have a look at this Export Introduction for all of DECALmachine's export capabilities.
this video was released early, so you may have seen it already
Atlasing allows you to pack individual Decals into a single Texture Sheet and then export that and the Decal objects to your engine of choice.
Trim Sheets are similar to Atlases, but aren't only created for export purposes. Instead, they can be used in Blender/DECALmachine and open up a new detailing workflow, that can be used instead of (or in combination with) Decals.
And so Trim Sheets unlock a completely new suite of tools in DECALmachine: the Trim UV tools.
These are UV tools, but can be used directly in the 3D View!
the Trim Cut tool
In addition to the Trim UV tools, there are also 3 more generic UV tools, which you may find useful outside of DECALmachine too.
Join and Split
A favorite of mine is the addition of the Join and Split tools, which allow you to very easily, and non-destructively keep your scene organized, even with dozens or hundreds of Decals.
There is more and I'd invite your to check out the changelog for a comprehensive list of all changes and additions.
The FixTexturePaths tool for instance has become quite a bit more powerful.
So please explore the documentation.
Also check out the new Example Blend files!
Finally, make sure you don't miss out on this free emissive decal pack from the Blender Bros.
Thanks again for your patience, and for reading this far, I appreciate it and leave you with the trailer:
A major problem with how decals are saved Blender 2.83 has come to light.
This means all decals created in 2.83 are saved wrong, with absolute texture paths.
As a result, if you ever change the decal location, or move decals around to other libraries, or share them with other users, they will fail to display properly.
1.9.4 introduces a work-around for the Insert and FixTexturePaths tools to deal with this problem.
Highly recommended to install.
This release ensures compatibility with Blender 2.83.
See the changelog for details.
This is a tiny bug fix release, preventing an error when creating info decals from monochrome images.
In addition there is a fix for recent 2.82 experimental builds, which broke the pie menu and the quick insert tool. Shoutout to Adrian from BoxCutter and HardOps fame for that!
This build fixes various bugs, mostly minor, but some could crash Blender, especially 2.81.
Info Decal creation from JPGs has been removed. I had doubts when adding this anyway, and it turned out to cause problems for some users, so only PNGs are supported now.
See the changelog for details.
1.9 represents the first major release after 1.8, which was released while Blender 2.80 was still in beta.
The intermediary 1.8.1 - 1.8.7 releases were either forced, due to breaking changes in the beta, or used to carefully roll out new tools and features to reduce the wait time for the full 1.9 release.
Now Blender 2.80 is stable and DECALmachine has reached a major milestone bringing back the first part of the export pipeline: the baking of decals.
In addition there is a new Panel Cutting tool, as well as a tool to remove MESHCUT edges. There are new example files and the documentation has been updated to cover all changes and additions since the 1.8 release.
There are 15 new videos explaining everything in detail!
Installation & Support
I've added some advice about how to update from previous versions, as there is a real risk of loosing custom decals you may have created, if you don't do it properly.
Baking of Decals has been vastly simplified compared to how it was done in Blender 2.79 and DECALmachine 1.4.2.
Batch Info Decal Creation
Batch Creation of Info Decals is now properly documented.
Use Panel Decals to Cut
You could always use Panel Decal's backup cutter objects to cut into an object, either manually, or by using the Mesh Cut tool in MACHIN3tools.
But with the introduction of the EPanel and GPanel tools, not all panel decals will have suitable backups, which is why there is now a dedicated Panel Cut tool.
GPanel & EPanel
This is a significant release and represents the latest state of DECALmachine. It is in essence the 1.9 release, but without the main feature of it - the Baking of Decals. I think it's best I finish documentation first, before this is released. I've also been working on a new tool called Panel Cutting recently, for which you will also have to wait just a bit longer.
However, there are various additions, that did make it into this 1.8.7 release. Such as EPanel, a tool similar to GPanel but instead of creating Panel Decals from Grease Pencil, it creates them from edge selections, or objects made of only edges.
In Edit Mesh mode, it is accessed from Blender's context menu(previously called the specials menu). With the 2.79 keymap, it's on the
W key, whereas it's on the
RMB with the new industry default keymap.
In Object mode, it is used like the Slice tool, where a target object is selected in addition to the edge-only object and called from the pie menu.
New tools, that are useful at times, but aren't as commonly used like the ones in the pie menu have also been added to the main DECALmachine panel.
There is RemoveDecalOrphans, ClearDecalProps as well as the InitGeneratedUVs tool. Refer to their tooltips for descriptions, until proper documentation arrives with the 1.9 release.
Batch Decal Creation is now supported when creating Info Decals from images. It's as simple as loading multiple images and ticking the All source images at once checkbox.
The resulting instant decals will be laid out next to each other and can then be immediately added to a library using the Add to Library tool - also all at once.
* with multiple images loaded, batch creation can be enabled*
Decal Creation now also works in local view. In addition an issue with the Flatten Normals option, when used on meshes with existing custom normals has been fixed.
Originally, normal maps baked for Decal Creation, were also baked to 16bit floating point normals for this release, improving their quality. However, this has been postponed till 2.0 now to investigate an issue with supersampling/anti aliasing.
Re-Apply will now properly match the Material and Material 2 components of panel decal materials, when positioned accordingly across 2 supported materials.
An issue when reapplying already projected decals to match their materials has been fixed.
The Match tool now has visual indicators to help you identify which side of a panel decal is the Material side and which one is the Material 2 side.
In addition to Blender's None/White Material, you can now also match DECALmachine's Default/Metal material - without it being present in the scene.
Panel Decal Indicators of the Match* tool
When changing the type/material of a panel decal using the Adjust tool, previous material matches and manual changes, will now be maintained.
The cursor wrapping, when reaching the region boundary, has been improved as well.
The default behavior of setting up surface snapping when bringing a decal into the scene, can now be disabled in the main DECALmachine panel.
Blender recently introduced backface culling for Eevee materials. This is now enforced for decal materials, to avoid flipped decals going unnoticed.
If you use BoxCutter and want to access DECALmachine's pie menu while the BoxCutter tool is active, you can do that now - as long you you remap either BoxCutter's or DECALmachine's pie menu away from
D, as described here here.
Last but not least, there was a crash when using GPanel with the Redo Panel, which has now been fixed.
This is a hotfix for Decal Creation. Height map creation and instant decal insertion from the panel were broken due to the recent depsgraph changes.
This is a hotfix for the Slice tool, which as a result of the recent depsgraph changes, didn't clear the panel decal material slots properly anymore, which in some circumstances could lead to invisible panel decals.
This is another unplanned release, but necessary due to depsgraph changes in Blender.
Raycast behavior has been improved as well, and raycast performance was increased, which should be epecially noticable in bigger scenes.
There are some issues with how decal normal maps are rendered right now, at the time of release, May 18th.
The issue is supposedly fixed already, but likely won't be available on build bot releases until May 19th.
This is an unplanned release, but necessary because rB8f71a84496a9 breaks Material Matching and with it the Re-Apply tool and Decal Insertion.
To fix the issue introduced in that commit, DECALmachine will just ignore the Alpha and Emission parameters of the Princibled PBR shader node for now. So, both of these are not material matched.
To properly support those material inputs, all decal assets will need to be updated, which is much more involded and will be done for the 1.9 release.
GPanel was supposed to go into 1.9 as well, but I've decided to release it early now - and without full documentation. It may need some more testing and work, so be warned.
Gpanel creates panel decals from grease pencil strokes.
To use it, take the Grease Pencil and lay down strokes on the surface of a mesh object. The Line shape of the Grease pencil tool is very handy and I recommend you use that. Note however, that - for me at least - it has a tendency to crash Blender.
Leave gaps between each stroke and be aware of the order and direction you draw the strokes in. Panel decals will be created based on that order.
When done, you can use the Grease Pencil Sculpt tool with
SHIFT pressed to smooth out the spaces.
After that, go into object mode and choose GPanel from the DECALmachine pie menu. You can hold down
CTRL to modiy is behavior.
By default no connections are made, but with
SHIFT the gaps between strokes are closed. With
CTRL you make the panel decal cyclic.
You can optionally also set these options in the Redo Panel. You can also set the segments for the connections there.
GPanel always works on the active Grease Pencil layer and will hide a layer, once a panel decal is created from it.
From this version forward, DECALmachine will install PIL 6.0.0. If you have installed the previosu 5.4.1 already, no action is required on your part, 5.4.1 works just fine.
If you want, you can purge your existing PIL installation from the DECALmachine preferences and install the new one, but it's completely optional.
The installation process has been improved and will now remove any PIL found in the modules folder. There were a few people who attemted to install PIL like it was done in the 1.4 era: by moving a pre-compiled PIL into the modules folder.
Besides being error prone, this will also interfere with how PIL is loaded now (from the user folder).
In addtion to the material matching fix above, there has been a raycasting fix, where decals wouldn't align properly to modifier geometry.
This was due to a bug introduced in Blender a813e259d630 https://developer.blender.org/rBa813e259d630), shortly before the initial 1.8 release.
This update fixes a few issues that came up over the past 2 weeks.
It includes a workaround for an open Blender bug affecting the Unwrap tool.
Furthermore it adds an optional, automatic update check, letting you know in the pie menu, if a new version is available.
Check out the changelog for details.
Two new common questions have been added to the FAQ:
- Why can't I access DECALmachine's pie menu when I activate BoxCutter's tool?
- Why are my panel decal materials/textures taken from the Aircraft(or any other) library?
Simpler and more efficient, easier to use and more powerful.
This describes DECALmachine 1.8 in a single sentence, and I hope you will agree.
1.8 being a fresh start and completely rewritten, really should be be 2.0, but I'm holding that back, until I get to feature parity with 1.4.2.
That doesn't mean, that 1.8 is inferior. On the contrary: everything you need to work with Decals and to create Decals is here, and it's all far better, easier to use and more robust than before.
Coupled with Blender's own advances like Eevee and Collections, DECALmachine 1.8 is a completely new experience.
1.9 and 2.0 will bring back baking of decals to a texture, as well as exporting decals via atlas creation.
I've put considerable work into getting rid of a major pain point in the past: the installation of the infamous PIL module.
Beta tests showed promise, that this is now solved for good, and for all 3 platforms, via an automated installation process, including two fallback installation methods.
For the times when help is needed, there is now a help panel and a Request Support tool, streamlining the process and ensuring necessary information like log files is submitted with the first email. Also, all feature videos in the documentation now have voice-overs.
I want to thank everyone who has supported my work in the past. All of this is only possible through your contributions. Enjoy 2.80!
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.
The base material used by Init Base Material, is now customizable in the DECALmachine preferences.
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. 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.
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.md#general).
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.