Home Technical Talk

UE4 Decal Sheet/Mesh-(Decals) ?

polycounter lvl 8
Offline / Send Message
MaxHoek polycounter lvl 8
Hey everybody,
right now I´m still working on my A320 Cockpit. Overall texturing is more or less done. Now I´m on the panel gravings with all the text and symbols. I´m working in UE4 so text is all done by textcomponents. But I also need to do many many symbols like arrows and some stuff. My plan was todo it with a decal sheet with all stuff on in, like they do it for star citizen: https://www.artstation.com/artwork/aa990
But in UE4 you can only work with decal materials right? so you can only put the whole material on one point, not just a part of? 
So my plan was to do an decal atlas map, go to max and export planes with different uv placings to get the result of something like "mesh decals" in cryengine. 

What do you guys think about this plan? My fear is, because there are many planes to place, drawcall is going up because of the 4k material i place like hundrets of times... I`m not really an expert for optimization and in engine mechanic stuff, so I would really appreciate if someone who knows more than me could hold my hand with that a bit :D 


If my explanation was to weird and you dont understand what I mean. My problem are the red marked gravings xD 

Replies

  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    In the Unreal Engine 4.13 preview, they added the ability to use mesh decals, and some folks are starting to use it in this thread http://polycount.com/discussion/comment/2472645#Comment_2472645
    So you would place your planes in Max or whatever your are using to correspond to your main mesh (just like the star citizen technique), and you have the main material/s for the control panels, knobs etc... plus your decal material which would ideally be an atlas of all decal stuff so you don't have more drawcalls than you need.
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    thats really nice! thanks man, dont heard about that coming update! thats perfect timing hehe ;) 
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    For this, you don't need anything special. Just a texture with those texts, some planes, and alpha test. So you can simply add an extra material ID abd use "masked" blend mode in UE.
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    okay thanks @Obscura! but when i do this, how is the performance doing than? Lets say I will have like 50 different decal texts, for this than I need to export 50 different planes. In engine, the planes will all have the same material with lets say, a 4k alpha test texture. Isnt it very expensive than? Probably I could place everything in engine, export to max, attach to one mesh and than import to ue again. Is this the ways? Or am I thinking to complex? 
  • Quack!
    Options
    Offline / Send Message
    Quack! polycounter lvl 17
    1 Bit alpha is super cheap from a material standpoint. Go crazy with placing them.  You probably won't need a 4k texture for the text, that will be overkill.
    I would just place all of the decals inside of the modelling program, attach all of the decals together as 1 mesh to the main model and bring in with a seperate material ID.
    I would NOT place the decals in engine and export/re-import.

  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    First of all, alpha test (its a yes-no basically, and its called "masked" blend mode in Unreal) will "cut out" your alpha texture so it will be completely sharp, even on relatively low resolution - I'm sure you don't need 4k. Also, you should place those planes in max, and use only as much materials as you need. Like if all of them can share the same texture\material, then you should go with 1.
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    @Quack! (problem) is, the cockpit is splited into 5 meshes. maybe I will import the masked planes as one unique mesh and not just put it into different material id slot. But result will be same, isnt it? 

     @Obscura maybe NOOB QUESTION INCOMING haha :D how exactly will work this alpha mask? you say they will be " completely sharp, even on relatively low resolution" but when I dont use 4k or 2k for all that signings, they dont be sharp i think.

    like this tiny little things:
     

    I know i could also stretch some planes to get more variations of like the lines they are placed at all places to save uv space, but i think my uv layout will have tones of different shapes. So i think I will need that pixel space for all that stuff. You can also see, every single rotary switch have different signings and arrows. they are soooo thin and small. 
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Please look up "alpha test" on the polycount wiki. Or better, just try it out and Unreal. Youll see its 100% sharp regardless of the resolution of the input texture :)
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    thanks i will for sure! never heared about it, that shames me! happy for your help, I will update you how i`m doing
  • cptSwing
    Options
    Offline / Send Message
    cptSwing polycounter lvl 11
    Quack! said:
    I would just place all of the decals inside of the modelling program, attach all of the decals together as 1 mesh to the main model and bring in with a seperate material ID.
    How does that work out in Unreal? From what I gather (and have grumblingly abided by in past work projects), in Unity this breaks static batching - they seem to have a 1 mesh, 1 material rule for batching together meshes of the same type.
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    worked very fine! thanks for sharing your knowledge! 


  • Quack!
    Options
    Offline / Send Message
    Quack! polycounter lvl 17
    cptSwing said:
    Quack! said:
    I would just place all of the decals inside of the modelling program, attach all of the decals together as 1 mesh to the main model and bring in with a seperate material ID.
    How does that work out in Unreal? From what I gather (and have grumblingly abided by in past work projects), in Unity this breaks static batching - they seem to have a 1 mesh, 1 material rule for batching together meshes of the same type.
    From what I know it will be similar in UE4.  But I could be wrong.

    @MaxHoek - Looking great!  Keep it up.
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    @Quack! thanks man i will! also update you here when I finished all decals in the cockpit. thanks again for your help
  • MaxHoek
    Options
    Offline / Send Message
    MaxHoek polycounter lvl 8
    more or less finished all of my decals in the cockpit! put all lights off, so you can better see them! thanks for advising! 


Sign In or Register to comment.