[Addon] DECALmachine


(MACHIN3) #1

DECALmachine is a set of tools to simplify and automate working with mesh based decals, which in turn facilitates quick design thinking, iteration and exploration. It does all that in a very non-committal, non-destructive way.

DECALmachine is supposed to be used with Blender’s Cycles renderer.

Since v1.4 decals can be exported to Unity3D, Unreal Engine 4, etc.

Check out the release trailer, the 1.3.5. trailer and crate demo on youtube.
See What’s New in v1.4.2.

INSTALLATION
See this video and blog blog post for instructions.

HELP
See decal.machin3.io for detailed documentation, including a custom decal creation guide, an export guide and FAQs.

FEATURES:

  • new Reconstruct Panel Cutter
  • new Surface Fix
  • Principled BSDF support
  • Match Material
  • decal atlas creation
  • decal export to Unity3D, Unreal Engine 4, Substance Painter, Sketchfab, etc.
  • bake decals down: normal, ao, curvature, height and color maps
  • custom vertex normal workflow
  • instant and batch decal creation
  • modal decal height adjustment
  • integrated asset/decal loader (unselect all + press ‘d’)
  • custom decal creation guide
  • use decals on flat surfaces and project them on curved surfaces
  • ‘cut’ decal panel lines in a boolean-like manner
  • parallax adds convincing depth to normal mapped decals
  • retain sharp details at all scales, independent of texture resolution
  • decal and panel UV creation is automatic and base meshes don’t need UVs
  • change panel decal width and panel type after a panel has been ‘cut’
  • change the panel decal shape and direction after it has been ‘cut’
  • retrieve the original un-pojected decal sources at any time
  • retrieve the cutters of panel decals at any time
  • material cutting and material decals
  • separate decal subset materials
  • separate panel materials for each side side and panel flipping to switch those sides
  • panel unwrapping for custom drawn or modified panel decals
  • quickly rotate decals in 45 degree steps without leaving face snapping
  • 116 decal assets supplied

REQUIREMENTS

Blender 2.78 or 2.79, 2.79 is recommended. Cycles renderer.
Only stable releases, use the addon at your own risk with the latest builds.

suggested tools for the best experience:

  • MACHIN3tools - a continuously evolving collection of scripts, to simplify and automate a variety of tasks.
  • Hard Ops the go to hard surface modeling tool kit, also quick access to modifiers and material assignments
  • Batch Operations for scene organization
  • Asset Management a general purpose importer to bring in kitbash parts, light setups, etc.
  • filmic

Available on Gumroad and Blender Market!


Feel free to send comments, questions, suggestions or issues to [email protected] or comment below.

Attachments




Retro Computer
Humanoid Mecha
(3pointEdit) #2

Wow, love the simplified approach to applying those textures. Great UI


(chafouin) #3

This looks amazing for game assets creation. Great stuff!


(masterxeon1001) #4

epic. and bought.


(n1k) #5

@MACHIN3

Looks awesome! Can you export your crate model to ue4 and render it there?

P.S. how do you generate those strips for panel lines and are you doing follow active quad on them for uv’s?

Cheers,
n1k

Sent from my LG-D855 using Tapatalk


(mzprox) #6

Looks very nice!

I assume these decals can be baked to a normal map, right? in my workflow i use substance painter and heightmaps/normal map stamps for similar effects


(VitaminCpp) #7

Very nice addon! :wink:

But how can I use this addon in combination with Substance Painter? I don’t think that I can fully quit using Substance and do the full PBR workflow/Normal stamping inside Blender?


(jpthrash) #8

Great addon! I’m looking forward to checking it out when I have some free time, perfect fit for my current workflow. Thanks.


(Pitiwazou) #9

Want to play with it, but I don’t have the time right now :frowning:

I think yes you can bake the normal map after.

Don’t hesitate to make a vidéo on how to export the result.


(50Groszy) #10

How can i use my own geometry and maps for decals? I tried using unmapped plane for decal projection but addon crashes.

You need to assign material for decal projection. Any material would do.


(MACHIN3) #11

Thanks 3pointEdit!

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!

Much appreciated!

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 :slight_smile:

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?


(mzprox) #12

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


(masterxeon1001) #13


#decalmachine


(colkai) #14

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


(JoseConseco) #15

Seems like great addon. I will buy it for sure, if I will need some hard surface modeling.


(aMars) #16

Well it’s definitely possible if you use xNormal. I made this:

Here is is in UE4 for good measure:

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.


#17

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.


(aMars) #18

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.


(Bop) #19

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.


(spiderbrigade) #20

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.