DECALmachine is a blender addon, which through mesh Decals , allows for surface detailing in a very non-committal, non-destructive, UV-less way. And as such, it represents an alternative approach to hard surface texturing.
If you encounter errors with the addon, please follow the outlined process to get support.
This makes it a lot easier for me and will get your problem fixed faster as well.
Specifically, please don’t post errors messages in this thread. Reach out to me directly.
If you want to discuss using the addon or have questions, let’s do that here.
That was my primary motivation in creating this, but it’s not quite there yet. For now it’s to be used in Blender with Cycles, as a hard surface design/concepting tool. Export to Unity/Unreal incl decal atlas generation is coming!
You can export it technically(=doing it by hand), but not yet using the addon. It’s the next step in my roadmap and I’m working on it already.
Yes, strip UVs are done using follow active quad, what a god send. I didn’t know about it initially and struggled to find a good way to auto UV the panel decals, but then came across this handy feature
So, I’m not sure about baking them. I don’t want to say its impossible, but I don’t think its straight forward or easy. A possible solution might involve using world space normals in between. The problem is the decal geometry can be rotated in all kinds of ways on the base mesh and so I don’t see a good way of combining decal normal maps with the baked base mesh normalmap. I need to investigate and research this in depth.
That said, the whole point of using decals(in combination with custom/weighted vertex normals), is to avoid having to bake normal maps. You can then take your decal geo directly into your engine(deferred rendering) and blend individual channels (instead of just alpha blending as in Blender/Cycles). This is done very successfully and prominently in Star Citizen and Alien Isolation and this is the workflow DECALmachine is aiming at.
The fact that the decals render as good as they do in Cycles(event though limited by just alpha blending) is a welcome surprise and makes the addon much more useful than initially thought.
Thanks VitaminCpp! If you are talking about baking the decals down to a normal map, then unfortunately, you can’t right now and perhaps ever. It’s not the intended use case, see my previous reply to mzprox.
Happy to hear. Feel free to share comments, suggesttions, issues or artwork here or on twitter or via email.
I’d love to be convinced baking the decals down to a normal map can be done, but I have my doubts atm. I haven’t researched it in depth yet, but there are serious roadblocks in relation to decal orientation and properly mixing decal normals with the baked base mesh normals.
Really, baking decals down is not the intended use case, as you’d loose the benefit of using decals in the first place. See my previous comment to mzprox.
Happy to hear your input on this however. Baking it to normals would definitely be cool to have.
Yes, currently the addon expects the decal to have a material before you project it - I’ll add an additional check to make it work with ‘empty’ planes. I’ll post about how to add custom decals ASAP, but for now, it’s probably best to take any of the supplied decals, copy and edit it, change maps, etc.
Do you need to know anything specific? What kind of decal are you trying to do? Are you struggling with the ao_curv_height map creation?
I tried using mesh decals with normal channel in UE4 and it worked quite well. It’s a good option to texture big objects with high res procedural materials and use these decals as details.
I suggest if it’s possible:
-try to generate blending masks for these decals as in my experiment the border of the decals remained somewhatvisible
-Make it easy to be able adding our own assets into the library
Is there a basic “how to” somewhere? I’ve bought the addon, but when I add a decal, it is always positioned at the centre and isn’t snapped to any face of my cube. Do I need to set some values in user preferences to ensure it works properly?
Also, do I need to select the cube I want to put the decal on in order to add the decal or project it? I’m suer once you’ve used it for a while it’s intuitive, but as an old guy with no instructions, there’s a lot of guesswork.
EDIT: Also, The Machin3tools addons are not showing up, I’ve tried manually putting the extracted zip into my addons folder and installing from file but none of the addons appears in my addons list.
Windows 8.1 64-bit with Blender 2.78
xNormal gives you the option of baking a base texture from a tangent space normal. The problem is that you can only specify one base texture and the decals are currently not atlas’d in a single texture so in order for this to work you have to manually atlas all of your textures. If you are making your own decals with the intention of baking then I imagine you could just atlas them in advance to solve this.
There is another issue here which is that baking from a base texture means that if you have geometry based normal details that you also need in the bake, you will need to bake them out separately and composite the two maps together which while doable… kinda sucks… Baking to worldspace and doing a conversion may be able to solve this though I’m not familiar enough with the process and which software could bake from both geo and a normal map at the same time. If you do go that route I think you will have to match the highpoly vertex normals to the decal geometry, because the decal geometry is a mess and doesn’t shade well (when triangulated for baking, xnormal wouldn’t accept the decal ngons) which may cause visible artifacts in a worldspace normal map.
Another thing I considered was baking the height maps and just converting them to normals because they can be freely rotated and oriented. I’m not sure how well that would work though, especially over UV seams. The textures were channel packed though so I didn’t even bother to try, that was just too much effort.
I have no idea if this is possible with Blender’s internal baker, I normally bake inside Substance Painter but downloaded xNormal just to do this because it was the only one I knew of that would recalculate an existing normal map to a new UV set.
TL;DR: You can do it in xNormal, but the process could be optimized way better. At the moment the biggest issue is lack of automatic atlasing, though you can address this with some foresight when making your own decals.
I suspect this addon will spawn a wave of change in gameart workflows… just calling it now…
Edit: Also just as a final suggestion I do think you should consider making a better install guide. The text file you included isn’t formatted for notepad and so there are no linebreaks for most windows users… Wasn’t a big deal for me but I’m not surprised others are having issues.
I think that you must put bigger that to do the things automatically and see the decals the users needs other plugin that cost 30€, not only “suggested”. If the user don’t have that plugin when make operations only see a warning/error message. And a manual could help.
Think I may be wrong, apparently when baking a base texture that is flagged as a tangent space normal, xnormal will combine the texture baked normal with geometry normals… I don’t really understand how this works, but it looks like it does. I get the impression that the compositing isn’t accurate though, would require more testing.
Edit: Also PLEASE document how to add custom decals… This is a great, powerful addon but it is not very useful if users can’t make their own decals.
If I can add a custom decal, it would be useful.
With regard to baking, my idea is to bake the color map with a height map and then convert it to a normal map. If you can automatically achieve this operation within the addon will save a lot of time, but also for the actual work a lot of help.
Just the current functionality is awesome, and there’s a huge amount of potential for growth. Well worth the cost. Definitely do need some documentation about creating more decals, as has been said. Just more documentation in general is always good - most users will be smart enough to follow along with your demo vids but it makes it hard to troubleshoot when something goes wrong.
So others are aware, currently the auto material matching doesn’t work if you use anything other than a plain glossy shader, but it’s easy enough to go into the decal node group and insert your own nodes in place of the glossy as long as your custom nodes can take a Normal input. I’d say the default decal material could be refactored to make this even easier, but it’s workable as is.
I am having a bit of an issue with the Decal Slice, though. It seems to be creating geometry correctly but throws the error (in debug mode) “AttributeError: ‘NoneType’ object has no attribute 'asset_M_library_path” Seems like it’s not finding the correct path to the Asset Management folder, but I do have the Decals folder copied there, and can bring in the sample decals through AM with no problem.