Home Technical Talk

[Blender] DECAL Machine : A quick way to create decals for Hard-Surface

2

Replies

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    I think you should be able to automate this in Max. 

    Anyways, having something like this, in Max, won't help you in Unreal if you want the Parallaxes and multi layer without a pain, unless you cut them into the geometry. Then its super easy, you go with a single material. but I wouldn't really call them decals anymore, or I dont know...

  • Cordell Felix
    Offline / Send Message
    Cordell Felix polycounter lvl 9
    This is freaking insane! I was looking for something like this years ago. Awesome tool!
  • Yadoob
    Offline / Send Message
    Yadoob polycounter lvl 7
    Cool workflow example of HardOps + DECALMachine, it becomes really fast to do complex hard surface models in Blender with a geometry quite ok.

    https://www.youtube.com/watch?v=7U7U-4ar91w
  • Prime8
    Offline / Send Message
    Prime8 interpolator
    @MACHIN3 late reply sorry, BI stands for Blender Internal Renderer usually.
    I didn't manage to get the same result in Cycles, but I didn't spend much time on it either.
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Ha, yeah I've figured out what it means by now. I've never used it before, but now I'm doing all the baking for instant and batch decal creation in it. I've got to investigate the baking down of decal normals to the basemesh. I'll be in touch when I can't figure it out :)
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Hello counters of polygons, I've just released v1.3.5 and the accompanying trailer. My main priority now is exporting for the 1.4 release. I had to get decal creation out of the way first and streamline it, I'm sure you understand :)

    https://www.youtube.com/watch?v=C_V3_lIPR2A

  • martin_lindelof
    Wow, this is amazing, and keep up the great work! can't wait for 1.4 :)

    keep on blending.
  • Prime8
    Offline / Send Message
    Prime8 interpolator
    I gave it a try as well, even though I don't do any stuff rendered inside Blender recently.
    I really enjoy the workflow, creating panel lines and the convenience of the integrated asset manager.
    No idea how the parallax node group works, looked at it and got dizzy :D The effect is really good though.

    Excited to see what you will come up with in the future.

     Not sure if you would like to hear some feedback/suggestions how to make a few things different or add any additional functions, anyway I just write down a few things :wink:
    Of course everything is from my point of view and might not be useful for other users and or not possible to implement, or I simply don't understand the underlying concept correctly.

    general stuff
    - using normal maps and height/displacement at the same time seems redundant. How about just displacement maps with higher bit-rate? 8-bit can be limiting in some cases.

    features - nice to have
    - invert decals (indent decal becomes "outdent"... what is the correct word here?)
    - slope panels up or down
    - controllable panel profile, could be done by using gradients and a RGB curve or color ramp instead of texture images

    baking
    I'm well aware that in the current stage baking is not considered, but you are going to implement export therefore I assume that you want to be able to bake to some extend as well.

    With the current material setup baking will be quite difficult I think.
    If you really want to implement any baking and exporting for realtime models it might be an idea to separate it from the main purpose (cycle renderings) with a slightly different workflow.
    Biggest difference is that you want to have an atlas for your decals instead of individual maps for each different decal and panel.

    Possible workflow:
    "Atlas Editor Mode" - put into separate layer(?)
    1. place decals on your atlas (square plane) in the usual way from your decal manager
    2. bake decals to atlas
    3. save bakes in project folder
    4. project atlas UVs back onto decals 2nd UV map 
    Exit "Atlas Editor Mode"
    5. model stuff
    6. add decals
     - only decals on the atlas should be available
     - decals receive projected UVs from the decal "master" 2nd UV
    7. export

    You could go back into "Altas Editor Mode" and change the atlas, move, add, remove, replace decals and bake it again, the decals on the model should update correctly because of the UV projection. When replacing a decal in the atlas, the object probably has to be the same, or the modifier targets of the decals have to be updated.

    Baking normals and AO from decals works if the displacement socket is used. Unfortunately I couldn't get a good result for AO yet with "Bump" displacement only. True displacement with 1px resolution works quite well but it is still experimental and has a few limitations too :(
    In case of the atlas creation true displacement is not problem because you can float the decal to avoid intersection. 
  • Mant1k0re
    Offline / Send Message
    Mant1k0re polycounter lvl 8
    Prime8 said:

    features - nice to have
    - invert decals (indent decal becomes "outdent"... what is the correct word here?)

    Emboss?
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Work on exporting has been going great. Here's two recent previews:

    1. Atlas Creation, individual size adjustments, downsampling, joining and atlas uv creation + preview
    https://www.youtube.com/watch?v=9sjIpvWQF1c

    2. In unity,  the shader is this one: https://bitbucket.org/bac9/shading by Artyom Zuev/bac9. I'm currently exporting directly to the texture format required by it. Will investgate what else is out there and support any other ones that are worth it.
    https://www.youtube.com/watch?v=AEvqsWyWbxE



  • Special KBS
    Offline / Send Message
    Special KBS polycounter lvl 3
    Super impressive stuff, hope to give it a try some time soon!
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Seeing the results working well all the way to an external engine like Unity is really nice. Impressive !

    I haven't tried the add-on first hand but I am wondering : what would be the best way to use DecalMachine bits similarly to the way one would use highpoly floaters for baking ? Perhaps by baking down their displacement component and later converting it to tangent space ?

    The reason why I am asking this is because I could see a lot of potential for DecalMachine in the context of deformable characters (to add cloth seams, stitches, rivets, and so on) but it is of course not possible to rely on decals for such details : for instance a seam built with decals along the leg of a character would clip when the leg bends. However if it was somehow possible to transfer these decals to the base lowpoly, the results could be quite nice.
  • Ambaryerno
    Are there any tutorials out there for this, yet? I've been playing around with it a bit and I'm just not having much luck figuring out what I'm doing, and I can't get any of the support links pointing to machin3.io to load.
  • Prime8
    Offline / Send Message
    Prime8 interpolator
    Getting better and better, awesome!

    pior said:
    ...Perhaps by baking down their displacement component and later converting it to tangent space ?
    ....
    Cycles can bake displacement information as normal, as long as you use the displacement socket in the material output. I wrote about it in my lengthily text up there.
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Are there any tutorials out there for this, yet? I've been playing around with it a bit and I'm just not having much luck figuring out what I'm doing, and I can't get any of the support links pointing to machin3.io to load.
    The webserver had some issues yesterday, it's fixed now. https://machin3.io/DECALmachine/docs is working again. Since 1.3.5b there's also local documentation in the DECALmachine folder, although the videos embedded still require an Internet connection.
    Docs are detailed and in depth, every single tool is explained and demonstrated.

  • Ambaryerno
    MACHIN3 said:
    Are there any tutorials out there for this, yet? I've been playing around with it a bit and I'm just not having much luck figuring out what I'm doing, and I can't get any of the support links pointing to machin3.io to load.
    The webserver had some issues yesterday, it's fixed now. https://machin3.io/DECALmachine/docs is working again. Since 1.3.5b there's also local documentation in the DECALmachine folder, although the videos embedded still require an Internet connection.
    Docs are detailed and in depth, every single tool is explained and demonstrated.

    Thanks. I've still got a ways to go to figure this out, IE why sometimes the decal textures appear in the 3D view, but others I can only see the decals if I render. But I think I'm starting to get the hang of it.

    Incidentally, is there a way to get rid of the border color on the panel line textures? For what I'm doing that silver color isn't appropriate. Or will I have to just make my own?

    I'm also running into a problem trying to create a Material Decal. I can do a Material Cut, but when I try to do a decal for the same area the resulting object is empty.
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Thanks. I've still got a ways to go to figure this out, IE why sometimes the decal textures appear in the 3D view, but others I can only see the decals if I render. But I think I'm starting to get the hang of it.

    Incidentally, is there a way to get rid of the border color on the panel line textures? For what I'm doing that silver color isn't appropriate. Or will I have to just make my own?

    I'm also running into a problem trying to create a Material Decal. I can do a Material Cut, but when I try to do a decal for the same area the resulting object is empty.
    Please email for specific support requests: decal@machin3.io  Make sure you have seen the FAQ and generally looked through the docs.

    For changing the material of decal panel strips(or any decal), see Match Material and Get and Set Material
  • Menchen
    Offline / Send Message
    Menchen polycounter lvl 3
    Man, if you are able to get this into unreal I will surely buy you a copy of the plugin.
    Been following it since you released it, and that auto-decal-atlas looks very promising...
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Menchen said:
    So, the only thing needed for this plugin to work with unreal (and to become the greatest thing that happened to me ever xD) is, to generate those 2 UVs:
    1st: UV projected to the underlying mesh: https://www.youtube.com/watch?v=8nBA90lWQeI; possible in 3dsmax, not sure if possible in blender (if possible, I haven't found how).
    2nd: to the decal.
    I just tested this(as I'm going through the Start Citizeen/Decal thread and specifically Obscura's  posts), It's possible and pretty easy to do via the data transfer mod, but seems to be problematic when a decal covers an area that has a uv seam.

    I've got to say, I am - as I'm sure many others are - quite disappointed with Unreal's dbuffer decals.
    Is there no way to extend them to properly support metalness and ao using a custom shader perhaps, similar to what bac9 did for unity?

  • flashpapergrind
    Like I said in my email, I'm counting the days until the 23rd. Seeing the progress you're making towards getting creations into Unity is really exciting stuff! I'm getting married in 2 weeks, but its safe to say my honeymoon will be spent dreaming up the magic I'm gonna create with DM when I get back home! 
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Like I said in my email, I'm counting the days until the 23rd. Seeing the progress you're making towards getting creations into Unity is really exciting stuff
    What email? What's on the 23rd?
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    MACHIN3 said:

     What's on the 23rd?
    His divorce, and remarriage to your plugin. :)
  • flashpapergrind
    MACHIN3 said:
    Like I said in my email, I'm counting the days until the 23rd. Seeing the progress you're making towards getting creations into Unity is really exciting stuff
    What email? What's on the 23rd?
    Remember that super awesome guy that was incredibly stupid about how he pulled your other addons from github? Hi, how ya doin? XD

    MACHIN3 said:

     What's on the 23rd?
    His divorce, and remarriage to your plugin. :)
    I'm already married to the idea of the plugin, like a sick fan after a celebrity that doesn't know he exists yet.... But he will.... he will 
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Baking down decal normals  is indeed possible: Thanks @Prime8 for the tip! Was actually fairly straight forward to implement, once Atlasing was out of the way!

    https://www.youtube.com/watch?v=x_htqk_rfew

    I can confirm now, that baking decals down will be possible in 1.4. All decal maps, ao, curvature, height, normal, alpha, subset mask and color can be baked down directly in DM in blender. The resulting normal map is very flat and so can easily be combined with any existing normal bakes(such as from a high poly source mesh).

    This feature has been asked about a lot - but I've always downplayed it because I was  focused on the deferred decal worlkflow in combination with custom vertex normals myself. However, baking decal maps down is also very useful for this workflow, as you can use baked down ao or curvature maps to generate wear masks for the base mesh etc.

    Furthermore, the baking down of decal normals could be used to more or less side-step or at least vastly simplify the highpoly to lowpoly workflow.

    In any case this is IMO super interesting and has a lot of potential.

    Also made my own decal shaders for Unity, thanks to the pioneering work by @bac9-flcl!
    I'll make these available on github once I release 1.4.

    https://www.youtube.com/watch?v=2FuIeHCvgCU

    Bonus: sketchfab works surprisingly well too:
    https://www.youtube.com/watch?v=4YT7ePp9gB4

    See for yourself:

    model
  • bac9-flcl
    Offline / Send Message
    bac9-flcl polycounter lvl 10
    @MACHIN3
    Awesome work! Got any highlights/choice changes you'd like to point out about your Unity shader? Always curious about ways to improve these.
  • Prime8
    Offline / Send Message
    Prime8 interpolator
    Great job again! 
  • Menchen
    Offline / Send Message
    Menchen polycounter lvl 3
    Man, if you manage to make a plugin for unreal like you did in unity; I will surely as hell pay a good amount in your gumroad. It looks gorgeous.
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool


    1.4 - Decal Domination

    The Export Release

    There are 13 new feature videos you can check out (scroll down).

    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.

    Improving Usability

    Operator Properties

    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 F6 menu.

    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.

    Various Improvements

    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.

    Fixes

    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.





  • Michael Knubben
    Have you considered 9-slice support? Would be useful for panels of different sizes. The way I imagine it is this: Allow the user to deform a (regular, four vert) plane on the underlying geometry, then create a plane with 9 slices at the right distance from the border for the source images.
  • Noth
    Offline / Send Message
    Noth polycounter lvl 14
    What happens with all the textures/uvs, is there an export atlas of the bits used or something at the end? 

    Also, can you transfer these details to the uvs of the base object if you say, can't use decals?

    Looks super cool.

    Edit: Just took a look at the change log for anyone else wondering. https://machin3.io/DECALmachine/docs/changelog/
  • Noth
    Offline / Send Message
    Noth polycounter lvl 14
    Is there a solution for making tileable textures with this? Similar to how you would in Zbrush or 3DC. Where the sides repeat, so when you bake/transfer you're normal map tiles correctly?




  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Have you considered 9-slice support? Would be useful for panels of different sizes. The way I imagine it is this: Allow the user to deform a (regular, four vert) plane on the underlying geometry, then create a plane with 9 slices at the right distance from the border for the source images.
    I don't quite follow. Do you want to use a 9-sliced decal? If so, can you sketch out a use case for me?

    Noth said:
    What happens with all the textures/uvs, is there an export atlas of the bits used or something at the end? 

    Also, can you transfer these details to the uvs of the base object if you say, can't use decals?

    Looks super cool.

    Edit: Just took a look at the change log for anyone else wondering. https://machin3.io/DECALmachine/docs/changelog/
    Yes, a decal atlas is created. See https://www.youtube.com/watch?v=VMRYNLiWj5w
    There are also a number of earlier videos previewing this. This one is perhaps the best, as it shows the new UV's after Atlas creation: https://www.youtube.com/watch?v=9sjIpvWQF1c

    Decals can be baked down, see https://www.youtube.com/watch?v=lG9DT6xSR_w
    Noth said:
    Is there a solution for making tileable textures with this? Similar to how you would in Zbrush or 3DC. Where the sides repeat, so when you bake/transfer you're normal map tiles correctly?
    Are you asking about decal creation? Or maybe you want to decal a flat plane, like a wall or floor piece?
    There are no specific tools for making tilable things, but you are in 3D, so you can easily build anything tillable. What specific support does it need from me?
    Could go into more detail about what you want to do?




  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    https://www.youtube.com/watch?v=YCUV8pS7MXQ

    This 30min, real time demo shows how DECALmachine can fit into a more traditional baking workflow

    1. Get your surface normals from a highpoly or alternatively bake from a rounded edge shader(not shown)
    2. Add decals to the lowpoly
    3. Bake decals down
    4. Combine mesh bakes and decal bakes
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    DECALmachine 1.4.1 is out, see What's new? for a detailed breakdown of additions and fixes.

    In short: 2.79 and Principled BSDF support, plus completely rebuilt the Match Material tool:
    https://www.youtube.com/watch?v=aTuq0l3Ga4w

  • pior
    Offline / Send Message
    pior grand marshal polycounter
    A few things : 

    • Installing the addon from the zip file causes an error on add-on initialisation, which I believe is related to the "PIL" ad-dons which themselves are located ... inside the main zip of the addon ?? Why not provide a master download with the main Decalmachine zip and the PIL zips next to each other, so that the user can simply go ahead and install them ? One shouldn't have to dig into the zip of an addon in order to reach other required components to install.

    I suppose that one could probably decompress the main zip somewhere random, install the relevant PIL component, then install the main zip. But that's overly convoluted and goes against the specifications of the Blender addon system.

    • Regarding documentation : there needs to be a link in the addon settings panel (near the custom keymap tab) linking directly to an online "Getting Started" page or to an online manual/documentation. As it currently stands there is no way to reach relevant help pages/documentation from the addon itself.

    - - - - -

    Edit 1 : I just noticed that a help link is available in the "about" tab. I'd recommend separating "about" from "help", since the fact that I didn't immediately find the help link proves my point :)

    Easily reachable documentation is especially important because the meaning and context of the operations are not self-explanatory (what does "Panelize" mean ? What does "WStep" mean ?). And so on.

    - - - - -

    Edit 2 : Now that I reached the documentation, I see that there are some very special conditions for the addon installation related to the PIL stuff.

    The problem is that none of this is accessible through the usual path of : 
    1- Buying an addon
    2 - Downloading a zipped/packed addon
    4 - Installing a packed addon from file
    5 - Starting to work

    Instead, the path currently goes like this :
    1 - Buying the addon
    2 - Downloading the addon, which is provided as a zip looking a lot like a traditional Blender addon zip package
    3 - Attempting to install 
    4 - Messing around with the zip, only to find out that other addon components are hidden inside it
    5 - Installing the addon and the PIL component by hand
    6 - Reaching the help page, only to find out that things have to be installed differently, because the PIL actually has to go somewhere
    7 - Uninstalling everything
    8 - Reinstalling everything
    9 - If all went well, starting to work.

    This is obviously a problem. I would advise you to simply provide all the files as individual Gumroad downloads (Decalmachine zip and PIL zips) as well as a READ ME FIRST BEFORE INSTALLATION.PDF file clearly going over the exotic installation instructions. When people are willing to pay for a commercial product, you *have* to make sure that things won't go wrong, otherwise customers get frustrated.

    I hope this helps !
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Thanks, I'll keep that in mind.
    FWIW, there's a Documentation button in the addon panel itself.


    There are  links to installation instructions at the very top of the product pages on gumroad and blender market. The linked page has a video walking your through the process.

    There's a readme.html suppplied as well containing links to everything locally and online.

    edit: Moved the PIL archives out of the DECALmachine folder and added a HOW_TO_INSTALL.html outside as well. Thanks again!
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Hi there M3 !

    I totally understand that it can be a bit frustrating to have a user rant about installation instructions when the tool itself is so powerful, but yeah my point really was to drive home the fact that things can go wrong pretty quickly for the end user (meaning that it can get frustrating for both the paid user, and the person providing support :) ) Really happy to hear that the suggestion for file organisation made sense !

    Now on to the tool itself : it's as powerful as I expected, and the quality of the provided parallax decals speaks for itself - fantastic stuff.

    I am however running into quite a few exceptions and error prompts. Part of them seem related to the object scale that DM appears to expect, which is way bigger than, say, a default Blender metarig skeleton. Given the sci-fi crates used as examples in the DM documentation and videos I would expect the tool to be calibrated to work at a scale similar to that of a suitcase/crate/barrel, but it seems like it is designed to work at around 5x to 10x this scale. This is causing stopping errors at best, and disappearing models at worst.

    The flipside is that DM *does* work well on a default Blender cube, so that's a bit of a catch22 really.

    (Now ironically I *used* to work at a much bigger scale myself, previously using 1 noname Blender unit for 1 cm. But Blender seems to expect models to be built in unit meters, as confirmed by the default meta rig skeleton, the way cloth sim behaves, and so on. Hence my switch to unit meters. Maybe DM could accommodate for this by either doing some clever scaling, or by having an overall "scale factor" option ?)

    Here are 4 problematic scenarios :

    https://www.youtube.com/watch?v=Vf0DZBRN8ac&feature=youtu.be&ab_channel=PiorO
    I hope this helps !

    And lastly : what is the process to bake a DM asset (consisting of a base surface and its decals and trims) to a lowpoly model that is not trim-based / not relying on a UV atlas ? IIRC this workflow has been mentioned before but I cannot seem to find a breakdown for it (and of course, merely transferring the RGB data from the source normalmapped decals wouldn't work because the nmap data needs to be adjusted for tangent space). Thanks ! 
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Now on to the tool itself : it's as powerful as I expected, and the quality of the provided parallax decals speaks for itself - fantastic stuff.

    Thanks!

    The Float Slice error you are getting is I think unrelated to scene scale. It seems to somehow be caused by the very setup you are using: horizontal cut through a box, which is odd to say the least. Definitely should not happen, but had not noticed before and can reproduce it. If you angle your cutting plane it works. I'll investigate.

    FWIW always use Topo Slice, if you can. It's  a better fit and Float Slice is more intended for dense geometry, where Topo Slice will inevitably fail. due to how it works.

    Everything related to scene scale is always tricky as I have to start with some values., See the Force Consistant Scale setting in the prefs, it should take care of your problems I hope.

    Be aware of the operator properties for most tools, but specifically the slice and project tools.

    disappearing models at worst.
    This is more or less intentionally done. The model is just hidden. It means the panel slice could not be properly built.  See the tip box at the end of the Topo Slice docs. Basically lower the panel slice width via the operator properties until the model you slice reapppears. If the panel width is too small at this point, just increase it again via the Change Panel Width tool.

    And lastly : what is the process to bake a DM asset (consisting of a base surface and its decals and trims) to a lowpoly model that is not trim-based / not relying on a UV atlas ? IIRC this workflow has been mentioned before but I cannot seem to find a breakdown for it (and of course, merely transferring the RGB data from the source normalmapped decals wouldn't work because the nmap data needs to be adjusted for tangent space). Thanks !
    It's implemented as a special "export target" called DECALBakeDown. Definitely also check out the export related docs before it, starting with Export Basics

    Also, see the combine Bakes demo,if you haven't already.

    i'm also just gonna quote what I just explained on BA yesterday in regards ti baking a decaled highpoly model:

    Maybe, but not anytime soon. My first impression was that decaling the highpoly would mean I'd have to re-project every decal on the lowpoly and re-slice every panel decal. Panel transitions need some manual work, so that can't be re-done automatically.
    That said that might actually not be needed.Perhaps you can just bake it all at once, but I need to do some testing on this.

    In the meantime you really should decal the lowpoly and keep your highpoly simple in terms of detailing. You need to split the design process into forms first and either delay detaling/decaling or be prepared to re-do it on the lowpoly(which should actually not be that hard, with all the decal sources).

    Hope that helps.

    edit: Oh btw, I also work on the default noname units, which seem to be meters. If you create a standard cube with it's 2x2x2 meters, that's the scale all default parameters are adjusted to.
  • duke
    Offline / Send Message
    duke polycounter lvl 13
    What if you want worn panel edges, can you do that or are panel lines currently using a UV size of 0 in a certain direction?
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    duke said:
    What if you want worn panel edges, can you do that or are panel lines currently using a UV size of 0 in a certain direction?
    I'm not aware of an automatic or shader-only approach to this.  I can't put the panel line wear in the decal atlas itself, without there being obvious repetition of course.

    What I'm doing currently is baking down AO and Curvature from the decals and using that to control where wear and dirt goes. Would love some inside knowledge of how Star Citizen does it.

    edit: It might be possible to do this without baking down the decal ao and curvature. I need to do more research into shaders and improve my understanding of Uniy's finalgbuffer first.
  • duke
    Offline / Send Message
    duke polycounter lvl 13
    I dunno if you have a strip that's 1024x32, the repetition won't be that noticeable.
  • duke
    Offline / Send Message
    duke polycounter lvl 13
    You could have a parameter "decal length" that controls the real-unit length of the panel line per 1.0 in UV space. At that point, the panel strip is cut at the UV reset to the start.
  • ninetitle
    Offline / Send Message
    ninetitle polycounter lvl 8
    Can you duplicate faces and transform them into decal cuts without the panelling option ?
    (I want to keep the exact geometry)
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    ninetitle said:
    Can you duplicate faces and transform them into decal cuts without the panelling option ?
    (I want to keep the exact geometry)
    Can you explain in more detail? What do you want to do?
  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    A while ago, I ran into unacceptable shading issues as a consequence of low mesh resolution and so added a "Surface FIx" tool to DM:

    https://www.youtube.com/watch?v=BLnOBPVpG6c
    Extending on the WStep custom normal workflow introduced previously in DECALmachine, Surface Fix can be used to remove unwanted shading artefacts. This is achieved by maintaining a separate surface source mesh(just like WStep's normal_src mesh) and transferring its normal information to vertices masked by a vertex group. All of this can be done with vanilla Blender, DM just simplifies the steps a bit.

    Gonna be in  1.4.2 which I hope to finally get out this week.

    You can also check out this blend to see how it works: https://www.dropbox.com/s/ev2elq94disrluw/perfect_normals.blend?dl=0

    Note the normal sources and surface source on layers 11 and 12. I keep them unlinked usually, but have linked them for demonstration and easy access in this scene.


  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Hi there again @MACHIN3 - I was wondering, is there a Decalmachin3 sample FBX model + texture available somewhere ? Something similar to the orange and white cube used in the unity test above. Basically in order to test the end result in various environments.

    Thanks !

  • MACHIN3
    Offline / Send Message
    MACHIN3 sublime tool
    Great idea! Check out this Example.blend, open in 2.80.

    Note, I've disabled cycles glossy rays, so you can get perfect results in cycles too. I'd recommend setting up a light setup for that however. A simple hdr is enough.
    This comes at the cost of decals not appearing in reflective surfaces. So it's always a compromise.  With DECALmachine, it's just a single button press to change this setting scene wide.


  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Oh nice, that's excellent - and that was fast !
    And it's looking great too :) Very useful stuff, thanks.
  • MACHIN3
2
Sign In or Register to comment.