Sharp Text Shader - Advanced Materials - Episode 18

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ย. 2024

ความคิดเห็น • 29

  • @Gorongirl
    @Gorongirl 7 หลายเดือนก่อน +1

    This technique has visited me in dreams for a year now and I’m excited to finally apply it to a project. I finally understand SDF applications! ❤ Thank you Ben!

  • @NopeSecret
    @NopeSecret ปีที่แล้ว +2

    Best tutorials on youtube right here

  • @miloszgierczak4806
    @miloszgierczak4806 ปีที่แล้ว +2

    Ben you are a great teacher. Be prepared that im going to leave this comment under your videos over and over again :D

  • @PawelStoleckiTechArt
    @PawelStoleckiTechArt ปีที่แล้ว +5

    It's also usefull to use distance fields on opacity mask textures like you've shown here, general shape is maintained regardless of mip level being viewed, especially important on fencing, chains, foliage :)

    • @Peppyssj
      @Peppyssj ปีที่แล้ว +3

      Want to add that I tested here on chainlink fences, and it works great! Only thing is that I've used SDF instead of DF and had to change the Mip Settings to Sharp10 instead of the default settings. Also the ScaleMips For Alpha Coverage to 1! :D

  • @Theironlefty
    @Theironlefty ปีที่แล้ว +7

    One note, using this will lead to Aliasing issues from my experience and mip-mapping making text degrade, so i basically made a shader adjustment where the distance from the object chages how sharp/smooth the text is with limits and mip-mapping with BORDER handles it well afterwards.

    • @BenCloward
      @BenCloward  ปีที่แล้ว +2

      Cool idea! Thanks for sharing it.

  • @eigenlaut
    @eigenlaut ปีที่แล้ว +2

    Saw Font and thought SDF immediatly - never thought to combine it in a layered shader for fonts though!
    Shape Burst is incredible usefull for all types of alpha errosion shaders too!

  • @MustafaBerkeGureltol
    @MustafaBerkeGureltol ปีที่แล้ว +3

    Super useful to see tricks like this. Can you also make a video on shell based materials? I've seen it being used instead of performance-heavy surfaces like fur, grass, etc.

  • @Mireneye
    @Mireneye ปีที่แล้ว +1

    Made a roadsign system using this together with Custom Primitive Data, to use for selection of what text I want to display (from a texture full of texts).
    Criminally underused and the best thing about it, to my understanding is that even if two objects would have different texts, because of it using Custom Primitive Data, it would just be one Drawcall.

  • @nicolashernanhoyosrodrigue762
    @nicolashernanhoyosrodrigue762 ปีที่แล้ว +1

    Thanks a lot!!! IT's very usefull!!! Thanks Ben from Colombia

  • @DominikMorse
    @DominikMorse ปีที่แล้ว +2

    Aaaaaaaaaand stolen, implemented. You, good sir, just improved my workflow. Thank you.

    • @BenCloward
      @BenCloward  ปีที่แล้ว +1

      Glad I could help!

  • @DLVRYDRYVR
    @DLVRYDRYVR ปีที่แล้ว

    In your image editor, you can also multiply, level then sharpen or convert to outlines then stroke if needed, prior to export for engine's.

  • @Yoraiz0r
    @Yoraiz0r ปีที่แล้ว +1

    Nicely presented video! It should be possible to replace the 6 nodes creating the SDF with just a single Vector2 exposed parameter, a 'Remap' node, and a saturate node, right?

    • @BenCloward
      @BenCloward  ปีที่แล้ว +1

      I haven't tried it, but you might be able to get the same results with that.

  • @spsexton
    @spsexton ปีที่แล้ว

    It would be great if you could post a version of this technique using Reality Composer Pro ShaderGraph.

  • @Alex_Stuff
    @Alex_Stuff ปีที่แล้ว +2

    Isn't that the same as using an inverse lerp with a saturate? Great video!

    • @BenCloward
      @BenCloward  ปีที่แล้ว +2

      Yes! It is an inverse lerp. Good call out. UE4 doesn't have that node, but UE5 and Unity do - so you could just use that to make it more simple.

  • @eversonmay
    @eversonmay ปีที่แล้ว +1

    nice

  • @fatemekamali8204
    @fatemekamali8204 ปีที่แล้ว

    Hi Ben.I have a quesion .how we can display a dynamic text im material ? do you have any solution?

  • @TunedFM
    @TunedFM ปีที่แล้ว

    Hello I wanted to request a tutorial I can’t find anywhere. I’m searching a way to crave/mask blueprint editable texts into static mesh’s parent inside own blueprint. I only found ways to mask boxes or spheres but not editable font silhouettes. Hope you could help.

  • @isawedthedemons
    @isawedthedemons ปีที่แล้ว

    i usually just disable compression and use sharp mipmaps.

  • @yggdrailongicorn
    @yggdrailongicorn ปีที่แล้ว +1

    Isn't it better to use this technique as Decals rather than in a pixel shader?
    Text area is small but the material still have to sample it at full area.
    Also, Decals allow you to add multiple text to one object at once.
    Still, a nice video tho.👍

    • @BenCloward
      @BenCloward  ปีที่แล้ว +1

      Hmm, that's an interesting idea. I'm sure there are pros and cons for putting it in the material vs using a decal and which way is better would depend on the specific way it was being used.

  • @DaDarkDragon
    @DaDarkDragon ปีที่แล้ว +6

    But 1280 isn't a power of 2. You can also see that texture doesn't have any MIPS in unreal either because of that.

    • @BenCloward
      @BenCloward  ปีที่แล้ว +3

      Yeah, that's true. You could just as easily make it 1024 if you're concerned about that.

    • @DaDarkDragon
      @DaDarkDragon ปีที่แล้ว +1

      Well the base concern is memory. one texture in a small project isn't gonna break the bank. But a bunch of these on a larger project? The full resolution is going to be loaded at all times instead of mipping down to save memory.

  • @afrikaansedude2525
    @afrikaansedude2525 ปีที่แล้ว

    Please do a grass shader 🥺🔥