UE4: Detailed Texture Blending with HeightLerp and Vertex Painting

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 188

  • @snowy0110
    @snowy0110 Рік тому +2

    I feel blessed finding this channel, almost every vid is something that I can't skip. I watch it and learn 🙂 Oskar is a great instructor 100%
    I don't know why youtube algorithm does not give Oskar more suggestions, the material is superb

  • @musashidanmcgrath
    @musashidanmcgrath 8 років тому +126

    I noticed you packed Rough into Blue. In UE4 DXT compression, the Green channel has the most data and because the Roughness map is the most important, Green is best for it. Also, good idea to drop the Metal map(if it's just a black/white value) and save without the alpha. That way you'll be using DXT1 compression rather than DXT5, which is 2X the memory footprint.

    • @TechArtAid
      @TechArtAid  8 років тому +25

      That's right. I moved from 'MOR' to 'MRO' maps in newer tutorials because of that. Thank you for the comment. I marked it, so it should be more visible.

    • @powergannon
      @powergannon 8 років тому +2

      musashidanmcgrath I didn't know UE4 gave more data to the green channel. I've already been using green for roughness out of habit but that's a good tip

    • @projectverna1937
      @projectverna1937 8 років тому +1

      Where can I learn more about UE4 DXT compression, and which channels bear the most and least data? I am very interested therein; and would greatly appreciate if you could refer me to a lengthy article or video on this subject, and any other qualities of this type of compression. Many thanks

    • @TechArtAid
      @TechArtAid  8 років тому +6

      +Project Verna R,G,B are 5,6,5 bits accordingly. www.sjbrown.co.uk/2006/01/19/dxt-compression-techniques/

    • @projectverna1937
      @projectverna1937 8 років тому +1

      Many thanks for quickly replying :D

  • @samanthaearls4502
    @samanthaearls4502 4 роки тому +3

    I'd been looking for a video that vertex blended with a packed texture and this was it, thank you!

  • @darrengatisty7035
    @darrengatisty7035 6 років тому

    Great video! A lot of creators talk and talk without saying anything, I like how you don't waste any time, explaining write away alongside examples

    • @TechArtAid
      @TechArtAid  6 років тому

      Great to hear that, thanks!

  • @3DWithLairdWT
    @3DWithLairdWT 2 роки тому

    Still relevant to this day. Love your channel!

  • @danmanole
    @danmanole 6 років тому +1

    You, sir, are such a good and kind person.

  • @TheNissonian
    @TheNissonian 6 років тому +1

    You've saved my life, I've been searching for hours how to do this, thank you for your service.

    • @TechArtAid
      @TechArtAid  6 років тому +1

      I'm glad to know it was clear! Cheers

  • @CybranM
    @CybranM 6 років тому

    Great video, helps a lot when you explain the process and why you do certain things.

  • @JAKEALEXDUN
    @JAKEALEXDUN 7 років тому

    You explained that you could paint different vertex colours on each instance, I wasnt able to do that when setting up instances from the blueprint editor so i want to know how you're done it.
    Also amazing videos man, best UE4 channel out there, seriously good work.

    • @TechArtAid
      @TechArtAid  7 років тому

      +Jake Dunlop My pleasure! I understand the confusion I made here. I used the word "instance" thinking of "an object's occurrence on the level", not a GPU-instanced clone. The latter can't use individual vertex color, because of their lightweight nature (store only a transformation, ID and a PerInstanceRandom number). I show techniques to deal with it, like global noise textures, in "Good-Looking Randomization" tutorial.

  • @element10studios8
    @element10studios8 7 років тому

    Love your videos keep em coming they are a great help with me and my team. We use them extensively! :D

    • @TechArtAid
      @TechArtAid  7 років тому

      +Element I/O Great 😊 And what you're working on?

    • @element10studios8
      @element10studios8 7 років тому

      Working on an mmorpg design with survival elements. still in prototype phases but its coming along.

    • @JackOnDuty1
      @JackOnDuty1 7 років тому

      Did anything come of this?

  • @Visceral3D
    @Visceral3D 8 років тому +4

    Saw you on reddit. Moore channels like this one please. MOORE TECHART TO THE PEOPLE

    • @TechArtAid
      @TechArtAid  8 років тому +2

      Yeah, I'd watch them too :D btw, I'll update the playlist today with things I watched from my previous account ua-cam.com/play/PLF8ktr3i-U4DH3Wh-zJAxsCncINRoi3U4.html

  • @jstubbles
    @jstubbles 3 роки тому

    Nice Greentooth reference in there. Polycount represent!

  • @ricardotome9467
    @ricardotome9467 8 років тому

    Very good tutorial, very clear and to the point. Congrats and many thanks

    • @TechArtAid
      @TechArtAid  8 років тому +1

      Thanks for the comment. I'm especially glad to hear that clarity is OK

  • @giaco89
    @giaco89 6 років тому

    Thanks for the Walktrought! would love to see more of this kind of video of tips in Unreal :)

  • @GameDevAcademy
    @GameDevAcademy 8 років тому +3

    Great work. Very easy to follow. I think I'll try this myself :)

  • @KrisLalinde
    @KrisLalinde 6 років тому +1

    Could somebody please explain to me the difference between painting color or weights?

  • @mareknetzel
    @mareknetzel 4 роки тому

    Dzięki Oskar! Fajnie, że szybko ale też ze szczegółami... Houdini przyzwyczaił mnie do nieskończonego budżetu czasowo poligonowego a teraz musze odświeżyć realtimowe techniki :) Pozdrawiam!

    • @TechArtAid
      @TechArtAid  4 роки тому

      Dzięki! Powodzenia z realtimem! Bywa ciężko, ale jaka satysfakcja, kiedy uzyskasz efekt pomimo ograniczeń. Jest to dodatkowy aspekt kreatywności, często ją też napędzający ;] Do zobaczenia na kanale, discordzie i... kiedyś na WarHUGu

  • @aarmbruster
    @aarmbruster 8 років тому

    Awesome job on these tutorials. Keep up the good work!

  • @willembuiting
    @willembuiting 6 років тому +4

    How much tessellation is needed on the mesh for a good result?
    Thanks for the great tutorial. This works like a charm!

  • @ABaconLorry
    @ABaconLorry 6 років тому

    Thank you for sharing the files, very helpful stuff!!

    • @TechArtAid
      @TechArtAid  6 років тому

      Sure :) thanks for letting know

  • @Arthurboy777
    @Arthurboy777 8 років тому

    Great stuff mate! I subscribed to your channel and can't wait to see more of your work ;) thanks

    • @TechArtAid
      @TechArtAid  8 років тому

      +Arthurboy777 Thanks for subscribing :)

  • @neilliu655
    @neilliu655 3 роки тому +1

    Great! Just great!

  • @BenCloward
    @BenCloward 8 років тому +1

    What happens to the vertex data that you paint on the model when the lower LODs switch in?

    • @TechArtAid
      @TechArtAid  8 років тому

      The engine tries to preserve them. Painting is always at LOD0, transfer is automatic. It actually suprised me that devs implemented this

  • @alintapordei7514
    @alintapordei7514 3 роки тому

    thank's for the video! is there any way that you can save the blend as a texture/material? and use it to different mesh? thank you!

    • @TechArtAid
      @TechArtAid  3 роки тому

      Yes, there is material baking in UE4 and 5. But of course this bakes it to a specific resolution, while having this on a material allows for tiled textures

    • @alintapordei7514
      @alintapordei7514 3 роки тому +1

      @@TechArtAid thank you for your fast answer, I really appreciate it. The idea was that I want to have nice environment walls but with vertex paint, you need a lot of geometry, so I was thinking just to create a high-poly for the vertex paint and then apply the same material to the low poly mesh. Don't know if that I explain correctly

  • @АндрейЛапин-ф3л
    @АндрейЛапин-ф3л 8 років тому

    Thank you for your interesting work man!

  • @EspireMike
    @EspireMike 8 років тому +1

    Fantastic tutorial! Really great! Thankyou!

  • @sean8306
    @sean8306 7 років тому

    Thank you, can't wait to try this !!!

    • @TechArtAid
      @TechArtAid  7 років тому +1

      :) It has many nice applications. "Water" (reflective material), damaged tiles - oskarswierad.com/maxi/TomorrowTiles.jpg

  • @Tree3D
    @Tree3D 6 років тому

    THIS IS SO AWESOME!!

  • @isoran
    @isoran 7 років тому

    thanks for the tutorial, will be handy for my project. :) Gave you a little tip on gumroad, wish I could give more. Keep up with your great content!

    • @TechArtAid
      @TechArtAid  7 років тому +1

      +isoran I really appreciate it! More content is being prepared, though it will take a while. I want to bring a unique approach as always :)

  • @juttmfd2896
    @juttmfd2896 8 років тому +1

    Excellent tutorial! However, I am having issues packing my roughness, metallic, and AO maps from B2M into the RGB channels in Photoshop/Krita. Anyone know how?

    • @TechArtAid
      @TechArtAid  8 років тому +1

      +JUTTMFD Use a solid black color as the background. Then paste your textures as layers. Set their blending modes to Addition (Linear Dodge in PS). Now, you have two ways :) Either go to color adjustment curves and flatten every color except of red/green/blue. Or (the non-destructive way) create solid red, green and blue layers, set their mode to multiply, then assign them to the respecitve texture layers. I can send you a screenshot later if it doesn't make sense ;)

    • @juttmfd2896
      @juttmfd2896 8 років тому

      It's working great! Thank you for the swift reply. (I chose the non destructive method) Cheers! ;)

    • @TechArtAid
      @TechArtAid  8 років тому

      +JUTTMFD :) by the way, I just realized something. Check out the LazySave extension for PS, sold on Gumroad. It has this functionality if I recall correctly

    • @7ArrozconLeche
      @7ArrozconLeche 7 років тому

      Hello Tech Art Aid, thanks for this awesome video! I am also having issues packing those 3 in PS. Would you mind making a video on it or posting that screenshot? im stuck on the nondestructive way step. here is what i have so far
      ibb.co/jZCBZ6

    • @vuxvix4523
      @vuxvix4523 6 років тому

      ua-cam.com/video/uWJYmL_msXI/v-deo.html
      hope it helps you

  • @zigastrmsek2
    @zigastrmsek2 6 років тому +1

    How do I do this for terrain

    • @TechArtAid
      @TechArtAid  6 років тому

      Terrain has a special node, Layer Blend, where you can set Blend Type to Height. Please look for a comment where I explained that

    • @zigastrmsek2
      @zigastrmsek2 6 років тому

      cant find it its like a 2 year old video can you just copy paste it @@TechArtAid

    • @TechArtAid
      @TechArtAid  6 років тому

      I'd have to spend my time too ;) Google ue4 Layer Blend node

  • @dyotoorion1835
    @dyotoorion1835 5 років тому

    Excellent tutorial. Many thanks!

    • @TechArtAid
      @TechArtAid  5 років тому +1

      Nice to hear that! Thanks for letting know

    • @dyotoorion1835
      @dyotoorion1835 5 років тому

      @@TechArtAid Thanks mate! :D

  • @RodrigoIsaas
    @RodrigoIsaas 4 роки тому

    Hello, good tutorial! How can I blend 2 materials? Like an add blending mode I mean, to combine it's information into 1

    • @TechArtAid
      @TechArtAid  4 роки тому

      Thanks! Lerp or HeightLerp node, like in the video

  • @MegaDobrich
    @MegaDobrich 7 років тому

    Guys, anyone knows whats going on. I tried several times doing this. But furthest I went is set all up, but I cannot paint white color in R channel, I have to paint pure green in red channel if I want it to blend. I literally did everything he does in video, but cannot paint specific channel itself, I have to paint INVERTED color in order to work?

  • @massimiliano382
    @massimiliano382 4 роки тому

    is it possible to put more than two materials with this method?

    • @TechArtAid
      @TechArtAid  4 роки тому

      Sure! Add more HeightLerps after that. This time use vertex color channel green or blue

    • @massimiliano382
      @massimiliano382 2 роки тому

      @@TechArtAid but can i blend example 10 materials? it does not force to be bound to the green or red channels

    • @TechArtAid
      @TechArtAid  2 роки тому

      Nope, not really

    • @massimiliano382
      @massimiliano382 2 роки тому

      @@TechArtAid THANK YOU

  • @cupsster1
    @cupsster1 8 років тому

    Thank you, very good explanation and example.

    • @TechArtAid
      @TechArtAid  8 років тому

      +Peter Matejovsky Glad you liked it!

  • @SargoniusGames
    @SargoniusGames 6 років тому

    Amazing tutorial, thank you

  • @allpixelsstudio
    @allpixelsstudio 8 років тому

    nice tuto dude ! very usefull and well explained ;)

    • @TechArtAid
      @TechArtAid  8 років тому

      +Elvira Madigan Thanks! Tutorial about generating UVs coming soon. We'll see if I can explain vector math as easily as this ;)

    • @allpixelsstudio
      @allpixelsstudio 8 років тому

      xDD i wish you luck on this one ^^

  • @devjitpaul1191
    @devjitpaul1191 5 років тому

    i need help?
    by doing this technique my fps goes form 120 to 60-75
    what is going on?

    • @TechArtAid
      @TechArtAid  5 років тому

      Hard to guess just by the number :) I recommend my videos about profiling. They will help you find the exact cause of performance problems

    • @devjitpaul1191
      @devjitpaul1191 5 років тому

      @@TechArtAid could you please take a look at
      ua-cam.com/video/OIfF-Xei5Os/v-deo.html
      imgur.com/gallery/BvDChwG
      hopefully you have a solution

  • @recursiveblueprint3192
    @recursiveblueprint3192 8 років тому

    Awesome tutorial - thank you for sharing!

    • @TechArtAid
      @TechArtAid  8 років тому

      Great that it's helpful, thanks for the comment

  • @lucak_art
    @lucak_art 6 років тому

    What if I'm using an alpha texture as My second texture? I would plug it into the alpha lerp to get a graphity like effect, but if I need the alpha for the vertex how do I plug it it?

  • @MrAdamJW
    @MrAdamJW 7 років тому

    Hello
    Can I ask a question please.
    How can I set it up so that I have a BAKED NORMAL +AO applied to the LOWPOLY MODEL so that I can have that BAKED INFORMATION from the EDGES and the HIGHPOLY on the Lowpoly model in UV1and then BLEND a TILLING MATERIAL and a MOSS Material on top of this unique baked information?
    Please I would appreciate your help

    • @TechArtAid
      @TechArtAid  7 років тому

      What if you used your baked texture set instead of bricks here? Doesn't it work?

  • @maxehrlich
    @maxehrlich 6 років тому

    Thanks for this great explanation. Is it possible to bake the height LERP after you have used it to break up the tiling?

  • @DavidWKimber
    @DavidWKimber 8 років тому

    Excellent tutorial! Note: I wonder if you could use a 'clamp' function instead of 'round? Probably works the same either way.

    • @TechArtAid
      @TechArtAid  8 років тому +2

      Thanks. You're right I shouldn't use Round here, it's too complex. `Ceil(x-0.5)` would be enough.

  • @mikehirang7248
    @mikehirang7248 8 років тому

    Thanks again for this tutorial! very easy to follow. ^_^

  • @GregFortresLP
    @GregFortresLP 2 роки тому

    Exactly what i needet, thx a lot ^^

  • @jmettam
    @jmettam 7 років тому

    You used a depth map to paint the moss. What if I don't have a depth map. How can I generate one from my static mesh ?
    For example I am using a rock from the starterContent, it has all the crevices built into the mesh and then on top of that I apply a rock texture and normal map. Using the rock texture normal map (red Channel) is not enough I would also like to get the depth map information of the static mesh. Any ideas how to generate this ?

    • @TechArtAid
      @TechArtAid  7 років тому

      +mustin jettam You can obtain it from a normal map using Knald, Bitmap2Material or Substance Designer. But you can also paint this map in Photoshop with brushes. It doesn't have to be accurate

  • @graham3400
    @graham3400 7 років тому

    Will this work with animated textures? For example, if i had an animated plant texture of ivy blowing in the wind that i wanted to blend with the brick wall.

    • @TechArtAid
      @TechArtAid  7 років тому

      +Graham With SubUVs? Should work perfectly. You can also try some flow map magic - I mean distorting the UVs of ivy, like in my Stealth Invisiblity tutorial, using several sines of Time as strength (or a noise in a form of a gradient texture).

  • @4un
    @4un 5 років тому

    Great video! But i'm confused a little, what better to use, heightlerp in material, or use material functions and blend between materials in matlayerblend_simple? Sorry, if question is stupid :)

    • @TechArtAid
      @TechArtAid  5 років тому

      I think they will be similar? With maybe a little better performance from manual blending with HeightLerp, as you can skip some channels (for example metalness). You can easily check, though :) In viewport change Lit to Shader Complexity
      ( docs.unrealengine.com/en-us/Engine/UI/LevelEditor/Viewports/ViewModes )

  • @Omar.bin.khattab
    @Omar.bin.khattab 6 років тому

    perfect .... thanks for your time

  • @dhirajrathod505
    @dhirajrathod505 5 років тому

    Question
    can i create this as my master material and then instance it out with any of the two material set as in for example you made this as a combination of wall and moss
    what is i want to use iron and also the rust and also this wall and the moss
    so what i will do is make one material, instance the texture and connect all the nodes as you have done and then save as a master material and then create two material instances
    in instance 1) i will have wall texture and the moss texture AND
    in instance 2) i will have iron texture and the rust texture
    and then control everything in the instance parameter
    is this possible? Just thought about this so i asked because this will save in the material cost and also you can make a new heightlerp material just by making a new instance of the master material
    so it's easy to make, less of work to make a new material and easily optimised

    • @TechArtAid
      @TechArtAid  5 років тому

      Use Texture Sample Parameter nodes instead of just Texture Sample. Then in the content browser right-click the material and Create Material Instance. Is this what you asked about? Cheers

  • @rimsa_Alg
    @rimsa_Alg 8 років тому

    This tuto is great Thank you !!

  • @marcomantuetto5267
    @marcomantuetto5267 5 років тому

    amazing! you help me a lot!

  • @TheNissonian
    @TheNissonian 6 років тому

    So this worked for me, up until I bake lighting. It seems like in 4.21, using this method breaks it.
    The vertex painting and everything works just fine, but then once you bake the lighting, everything goes straight black except where lights are directly affecting the meshes.
    I went back to 4.19 and it worked, so either 4.20 or 4.21 this had some kind of issue. Any ideas? Its driving me up a wall.

    • @TechArtAid
      @TechArtAid  6 років тому

      Sounds strange. Can you try using a LightmassReplace node in a material, connecting a straight white color to it?

    • @TheNissonian
      @TheNissonian 6 років тому

      @@TechArtAid How would I use this node? I'm not sure where the output is suppose to go. I've plugged a white vector parameter to the realtime and lightmass inputs.

    • @TechArtAid
      @TechArtAid  6 років тому

      Yes. White in lightmass and whatever you had to the realtime. Now the output goes to Base Color in material output. The idea is that it changes the output depending whether it's baking light or displaying the realtime viewport.
      Edit: I just read that it worked in 4.19. That's not good ;) One idea - try putting these meshes on an new empty scene with default skybox.

    • @TheNissonian
      @TheNissonian 6 років тому

      @@TechArtAid So I've done that, and now my scene is extremely blown out. It almost looks like I've set the viewport to Unlit.

    • @TechArtAid
      @TechArtAid  6 років тому

      Huh. No idea, sorry

  • @Бунтнакорабле-ж2л
    @Бунтнакорабле-ж2л 7 років тому

    Hello! what's the MOR card? how to create this card?

    • @TechArtAid
      @TechArtAid  7 років тому +1

      It's just a texture. I put 3 grayscale textures into the R, G and B channels, to save memory. They are Metalness, Occlusion and Roughness - M,O,R :) Please find a comment about "channel packing" for instructions.

  • @MegaDobrich
    @MegaDobrich 7 років тому

    this is so not working. I have to use multiple after lerp if I want it to work
    . WHY?

    • @TechArtAid
      @TechArtAid  7 років тому

      +Darko Dobrić I don't know. Please download the project and check there

  • @wwseba97
    @wwseba97 8 років тому

    how did you make that you can use one seamless texture on static mesh like that? Thx for help kolego :)

    • @TechArtAid
      @TechArtAid  8 років тому +1

      It's a standard mesh, so maybe it's thanks to carefully done UVs? imgur.com/a/qIkA1
      I also added a parameter in the material for controlling UV scale. Powodzenia :)

    • @wwseba97
      @wwseba97 8 років тому

      I nie masz erroru, ze uv jest "out of bounds"? :D

    • @TechArtAid
      @TechArtAid  8 років тому +1

      +Seba Seba Seba To ma znaczenie tylko dla UV dla lightmapy. Dlatego mam 2 kanały UV: jeden dla tekstury (ten co widzisz) i drugi dla wypalania oświetlenia (faktycznie mieszczący się w obrębie kwadratu). Potrzebujesz wtedy wybrać Lightmap Coordinate Index na 1 (zamiast 0) - docs.unrealengine.com/latest/INT/Engine/Content/Types/StaticMeshes/LightmapUnwrapping/

    • @wwseba97
      @wwseba97 8 років тому

      Rozumiem sprawdzę jak będę miał czas... Uv to trudna rzecz :/

  • @nativehealingmusicflute
    @nativehealingmusicflute 8 років тому +1

    I love this tutorial

  • @Etycho
    @Etycho 8 років тому

    This is such a great video. Well done.
    Have you been able to apply this technique to landscapes?

    • @TechArtAid
      @TechArtAid  8 років тому

      Cool :) Yes, it's possible. The HeightLerp node won't be necessary. The functionality is already there in Layer Blend, the node typically used in landscape materials. Just change the blend type (3) to "Height" - docs.unrealengine.com/latest/images/Engine/Landscape/Materials/Landscape_LayerBlend.jpg

    • @Etycho
      @Etycho 8 років тому +1

      I found my issue. I was using the height blend, but I forgot to apply the landscape coords to the height map texture; that's why I couldn't see it. Thank you.

    • @MichalMilkowski
      @MichalMilkowski 7 років тому

      Do you know how to make sharper transitions in layer blend node? Using height maps for blending gives kinda soft transition, which doesnt suit well for gravel/rock textures blending. I've tried clamping height map, which gives shorter blend distance, but that's not what I wish for (maybe I should try to figure out how to clamp height map vertically, not globally?)

    • @TechArtAid
      @TechArtAid  7 років тому

      +Michał Miłkowski Maybe try a CheapContrast node on the height input

    • @MichalMilkowski
      @MichalMilkowski 7 років тому

      Thanks for the tip, it certainly gave me more control (cheapcontrast -> clamp -> blend input of layer blend node). Journey of blending parameters is still going on, need more control/finetuning, for example, with high contrast on cheapcontrast, it gives single rocks appearing on blending area - similiar to what I wanted, but edges are too harsh, need to blur them a bit. Or that cheapcontrast seems to affect whole painted area (just more profoundly on blending areas), I need to somehow limit the cheapcontrast effect only to blending area, not sure yet how, probably with lerps sampling from height map. Cheers!

  • @Plepple
    @Plepple 7 років тому

    This is a beautiful video, thanks!!

  • @elk_h
    @elk_h 8 років тому +1

    each StaticSwitch param node creates a double of the shader? so if I use it 4 times in a shader.. I get essentially 8 shaders to compute? that's madness, why would they put it as a function? oO

    • @TechArtAid
      @TechArtAid  8 років тому +5

      +Tzur Hoch What I said is wrong. Actually it's much worse than that. An additional shader to compile is produced for every possible combination of static switches. That's madness squared

    • @elk_h
      @elk_h 8 років тому +1

      Holy smokes.. Good to know, thank you!

  • @bobroberts8264
    @bobroberts8264 6 років тому

    What file type are you saving these texture files as ??? and is it done in photoshop ???

    • @TechArtAid
      @TechArtAid  6 років тому

      Yes, PNG (or TGA or TIF). There was a comment about texture packing (from MusashiDanMcGrath if I recall correctly)

  • @juniorsantosjerry4188
    @juniorsantosjerry4188 6 років тому

    hi do you use displacement map in rocks? or just normal map? thanks

    • @TechArtAid
      @TechArtAid  6 років тому

      Just normal map. Height map is for HeightLerp. You can get example files to see how it's done

  • @moejahi3d3
    @moejahi3d3 7 років тому

    Awesome tut thanks. I do have a question. If I wanted to blend 3 materials but put limits on where on the heightmap of the mesh they can spawn can I do that? Like material 1 is the brick is the base at 0height then material 2 is concrete layer and material 3 is paint always on top of concrete and each of them off have their own heightmap for details. So basically can you like divide the heightmap in zones and limit each material to a height?

    • @TechArtAid
      @TechArtAid  7 років тому

      First do (height)lerp between brick and concrete, then between the result and paint layer. For each, use a part of the full height range as the mixing factor. First blending should use 0.0 - 0.5 range (remapped to 0-1), second blending 0.5 - 1.0 (again to 0-1). Like here: imgur.com/a/8Unli To remap the ranges, use the Remap node like I show here: ua-cam.com/video/J5LXIApQmzA/v-deo.html

  • @acestudioBr
    @acestudioBr 7 років тому

    Thank you very much!

  • @AnAncient76
    @AnAncient76 7 років тому

    Beautiful!
    Can this be used to paint landscape textures?

    • @TechArtAid
      @TechArtAid  7 років тому

      +AnAncient76 In a landscape material it's even simpler - instead of HeightLerp, just use a LayerBlend node with Height blending type in its settings. I answered this already in the comments, so you can find a full answer under another comment :)

    • @AnAncient76
      @AnAncient76 7 років тому

      I'm new to UE4, so still learning :) I still don't understand many things about material creation.
      Can you share your material, i mean the one for landscape?

    • @TechArtAid
      @TechArtAid  7 років тому

      +AnAncient76 Sure, I do :) please get it for free at gumroad.com/techartaid

    • @TechArtAid
      @TechArtAid  7 років тому

      Ah, but here the landscape is simple. So it doesn't feature this height blending. There's a comment under this video where I reply to a person with an image screenshot how to do it.

    • @AnAncient76
      @AnAncient76 7 років тому

      Well i put a wall and start to paint, and it crashes?
      This is what i would like to achieve with landscape: i.imgur.com/HHcwrsM.jpg

  • @xiadisun8715
    @xiadisun8715 5 років тому

    amazing!

  • @jacopopapaccio
    @jacopopapaccio 8 років тому +1

    Is there a hotkey you use to increase/decrease the radius of the brush? I've never managed to find it D:

    • @TechArtAid
      @TechArtAid  8 років тому

      Square brackets [ and ], if I recall correctly ;)

    • @jacopopapaccio
      @jacopopapaccio 8 років тому

      Not on my UE 4.12, apparently :(

    • @TechArtAid
      @TechArtAid  8 років тому +1

      Works for me in UE 4.12 on Windows. I had to click on the object first - like, do a first stroke. Then it worked

    • @jacopopapaccio
      @jacopopapaccio 8 років тому

      You're right, I've tried an English keyboard and I can see it working... but no way with the Italian layout. Thanks anyway :)

  • @Davidlcorzine
    @Davidlcorzine 8 років тому

    Quick question about the Height map you used in your image, it looks like its from an entirely different texture from the bricks and the moss, correct?

    • @TechArtAid
      @TechArtAid  8 років тому

      +David Corzine Yes. It doesn't need to be anything precise (unlike albedo and roughness). It's just whatever gives you the desired result. In this case, I started with a height map that Bitmap2Material generated for me from a bricks photo

    • @Davidlcorzine
      @Davidlcorzine 8 років тому

      Sweet. Thanks for the quick reply.

  • @abeymiranda5457
    @abeymiranda5457 8 років тому +3

    best youtube channel ever! question... would the heightLerp method be a good idea on mobile? (metal devices)

    • @TechArtAid
      @TechArtAid  8 років тому +2

      +Abey Miranda Thanks ;) The biggest cost won't come from computation but from texture sampling. If you can use a small, tiled texture for the 2nd set, then it should be fine. I'm just guessing, though - I don't have experience with UE mobile

  • @krulan
    @krulan 8 років тому

    Great stuff. Subbed ! :)

  • @JMTBFLOW
    @JMTBFLOW 8 років тому

    Thanks for this :)

  • @СергейДобрый-е7ю
    @СергейДобрый-е7ю 5 років тому

    Thank you!!!

  • @maksymshvernenko4194
    @maksymshvernenko4194 7 років тому

    magnificent

  • @DigitalAlchemyst
    @DigitalAlchemyst 7 років тому

    9:40 I believe what you are looking for here is a static switch

    • @TechArtAid
      @TechArtAid  7 років тому +1

      That's the point of the eternal debate for or against static switches. They create more permutations of a shader but on the other hand, they save you unnecessary calculations or samplers. I no longer have such a hard opinion about them ;) but still I use them mostly for excluding big features, not for simple settings.

  • @S0raJr
    @S0raJr 8 років тому

    Thank You

  • @Waterboi505
    @Waterboi505 8 років тому

    So, you're saying in the shader it's more efficient to use a howjsay.com/pronunciation-of-linear interpolation than a basic if-else comparison switch? That's very counter-intuitive.

    • @TechArtAid
      @TechArtAid  8 років тому +1

      +Waterboi505 'If' is okay. Not as efficient as in CPU programming, because of nature of branching on the GPU, but still fine for short branches. There's a node for 'if'. You can see how to use it in my Stealth tutorial.
      StaticSwitch is for static branching. It splits your shader into separate versions, using disk space and VRAM.

    • @Waterboi505
      @Waterboi505 8 років тому

      That sounds terrible, thanks for the tips!

  • @BeornsThunder
    @BeornsThunder 3 роки тому

    As a UE novice, I was excited about this video until the comment related to channel packing that said it has to be done in an external texture editing or 2D graphic program without an explanation or example included. That seems to have stopped me from following along.

    • @TechArtAid
      @TechArtAid  3 роки тому +1

      Search for "channel packing" on UA-cam. You should be able it easily find a tutorial

  • @MetricZero
    @MetricZero 8 років тому

    A+

  • @funzies2577
    @funzies2577 6 років тому

    doesn't work on 4.18

    • @TechArtAid
      @TechArtAid  6 років тому

      You mean the example files don't open?

    • @funzies2577
      @funzies2577 6 років тому

      the interface is different in .18

  • @MrBerdinskich
    @MrBerdinskich 3 роки тому +1

    the weak point of this technology is - GPU can't instancing painted meshes. So each painted actor will be new drawrcall. If you delete vertex color from instanced actors - GPU will batched the same meshes it into one drawcall.

    • @itsandylittle
      @itsandylittle 2 роки тому

      So would you say it's better to use material instances with different Mask textures?

  • @___Zack___
    @___Zack___ 6 років тому +1

    Great tutorial, thank you. Just pointing out for your English - which is generally excellent by the way, "height" is pronounced "H-eye-tuh" and not "h-eye-th" and "three" is pronounced "th-ree" not as "ff-ree". Just some pointers, I know how tough a second or third language can be :)

    • @TechArtAid
      @TechArtAid  6 років тому +2

      Thanks for the correction. Much appreciated :) From comments I learned that I was wrong about the pronounciation of "variable", "linear" and texturing "suite"

    • @___Zack___
      @___Zack___ 6 років тому +2

      It is comments that also helped me with Spanish, pronunciation is a funny thing! @@TechArtAid

  • @wyvern5547
    @wyvern5547 7 років тому

    o well, it doesnt work...

    • @TechArtAid
      @TechArtAid  7 років тому +1

      It works. The proof is in the downloadable project, right?

  • @AImagery4444
    @AImagery4444 3 роки тому

    Transistion Phase.

  • @SandroKornely
    @SandroKornely 7 років тому

    you are so fucking coo;;;!!!

  • @Dimonewave
    @Dimonewave 7 років тому

    Видео хорошее, жалко на английском(

    • @TechArtAid
      @TechArtAid  7 років тому

      Спасибо! :) Уверена, вы знаете кого-нибудь, кто может помочь в переводе.

  • @ilovesesshomarusama716
    @ilovesesshomarusama716 7 років тому +1

    Okay not for beginners. He was moving way to fast and sometimes he didn't explain what he did.

  • @NatePlayzGamez
    @NatePlayzGamez 6 років тому

    awesome ,thanks dude :)