UE5: Transition Between Multiple Materials // Unreal Engine Livestream

Поділитися
Вставка
  • Опубліковано 8 лис 2024

КОМЕНТАРІ • 30

  • @tobyrutter
    @tobyrutter 2 роки тому +9

    Iirc the native textureArray2D does combine all of the texture objects into a single object in memory. If you had two textureArray2D A and B and B contained all the same textures except one was different you would be paying the memory cost for the shared textures twice. This is different to the concept of bindless arrays in DX12 where the array is just a reference to different textures.

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

      ohhh. valuable info, thx

  • @colini23
    @colini23 2 роки тому +4

    Will love to see another tutorial of procedural building , last one was amazing

  • @nazaxprime
    @nazaxprime 2 роки тому +1

    Very cool and now I'm interested in using the pre-temporal technique to apply different material properties to voxelization of geometric volumes in cross section...
    Not entirely sure how I would go about it but I think the boundaries of each u e d m coordinate system could be used to bissect the geometry prior to or during voxelization while applying different physics and material properties in addition to the different textures of sub divided voxels... 🤔
    Anyway, yeah I'm going to have to look into some voxel plugins and how they operate but this is all very interesting, thank you for the content, and please don't mind the mental note I'm throwing in here, half baked as it is. 👍👍

  • @oglo666
    @oglo666 Рік тому +3

    did i get it wrong or what, but mip seems to work on texture array in unreal engine 5.1.
    in fact, I just had a quick look, maybe I'm wrong,
    but it is possible to turn from no mips to from texture group on texture array
    and in the editor it shows me correctly texture mip when I change mip lod bias on texture array

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

      Yes, I was corrected by a viewer of that video on a conference later :) I had to additionally disable Never Stream (in 5.0) and it works like you described

    • @oglo666
      @oglo666 Рік тому

      @@TechArtAid again im not sure, but im additionally test in editor playmode changeing r.MipMapLODBias from 0 to 11. with udim all works like expected, reacting on r.MipMapLODBias changeing. with texture array r.MipMapLODBias not work. so i suppose mips after all aint work with tex array. there is also some doubt about udims, when testing with r.MipMapLODBias changeing from 0 up to 6 its all work like, with for example simple material with single texture set no udims. udim also change mip resolution when r.MipMapLODBias set to 7, but after that from 8 up to 12 there is no changes in resolution at all unlike simple material where is changeing mip from 8 up to 12 obvious.
      it look like udims have only 7 mips not 12 (maybe its correspond with number of udim texture somehow, numer of mips=12-number of udim textures :) )

    • @TechArtAid
      @TechArtAid  Рік тому

      Thanks for sharing the experiment results. I'm not an expert on this, but VTs have a fallback texture generated for them. It's visible for a brief while when a new virtual texture is about to be streamed in. Isn't the "last actua mip" just that? something like 64 px

  • @bertrandflanet9519
    @bertrandflanet9519 Рік тому

    That's great, thank you for the thorough work!
    Although, in the end, it still transitions between 2 materials (or 2 mat stacks).
    How would you do if, at run time, a variable (an int for exemple) changes the selection of material?
    For instance:
    1 = mat_1
    2 = mat_2
    ...
    So that the transition over time is not only between mat_1 to mat_2 but possibly between mat_1 to mat_4 or mat_5 to mat_2, etc...

    • @TechArtAid
      @TechArtAid  Рік тому

      You just need to divide the UDIM UVs intro more sections (e.g. shift the UVs by 0.25 if you have 4 textures in a row). You can use the builtin SubUV / Flipbook material node to calculate the UVs based on an integer "frame number"

    • @bertrandflanet9519
      @bertrandflanet9519 Рік тому

      @@TechArtAid Thanks for your answer!
      I didn't know about SubUv and Flipbook nodes, so I had to look into these.
      Although, I am also not sure to understand your hint about them and how to use them in this setup.
      I am getting temperature data from a weather API within the level BP. I used them as a variable (float) to change animation and material for an object.
      Temperature updates every minute, and if it is in a certain range, an according animation and material should be displayed.
      I managed to achieve that for animations, although likely in a cheap way, using Blendspaces.
      Although, it has been 2 weeks that I am struggling to do the same with multiple material transition :/
      Your tutorial on UDIM is for now the most elegant workaround I found (after exploring Material collection, layer instance and material blend) and I feel that it is very close to what I seek to achieve.
      Although, I am still struggling with obtaining a soft transition between material transition.
      So here, I understand that through the Flipbook node, one is able to scroll between the different sections of the UDIM with a blending between the defined frames.
      Although it will still jump according to the sequence of 1001, 1002, 1003, 1004, 1005... (or whatever sequence one defines), but not from, let's say, 1001 to 1005 and then stop looping.
      Maybe my setup is more problematic, as I am perhaps seeking not only to transition, but that the transition always executes from the last material on display.
      I have this idea that a way to execute this, could be to parameterize two identical UDIM materials, one influenced by the actual temperature variable and the other material influenced by the previous temperature variable.
      And that they change back-and-forth, like flipflop, as well as the blend between them.
      That way, they would always update from the last displayed material and blend.
      Although, it is either too convoluted and anyway I don't have a beginning of an answer to achieve this, regarding the newby that I am.

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

    Thats weird that Unreal does not have indexed TextureArray2D, recently i was suprised that it didn't even was in UE (it was added in 4.26 or 27? in weird way) and does not support mipmaps, where Unity had that for a long time.

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

      Right? Either they didn't pay attention or idk...

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

    amazing..
    thank you!

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

    thanks for this.

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

    Cool Stuff thanks ❤

  • @Ricky_Lauw
    @Ricky_Lauw Рік тому

    Virtual Textures now support Anisotropic Filtering

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

    Nice Work 🙂 Keep it Up! 💪
    Is it possible to use World Position Offset in a Post Process Material?
    My Goal is Curved World Post Process World Position Offset Effect.

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

      Ah, no. The world is already drawn at this point. But the effect is possible when you pack the math into a Material Function. Then re-use it in every shader in your project

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

      @@TechArtAid Uhh i see. Thank you Very much :)

  • @dist5788
    @dist5788 4 місяці тому

    Any idea whats the solution for lack of vertex paint in ue5 since nanite introduction? For texturing big architecture objects like big building its now super hard,

    • @TechArtAid
      @TechArtAid  4 місяці тому

      Yup, that wkrkflow is gone and there is no replacement (as of 5.4) :

    • @dist5788
      @dist5788 4 місяці тому

      @@TechArtAid that's a pitty, is there anything that could be used as a workaround od replacement, Vertex paint is gone but anything else? How to deal with big architecture now?

    • @TechArtAid
      @TechArtAid  4 місяці тому +1

      @dist5788 It's just difficult. We have some ideas for the new Witcher, so I'll share at GDC some day 😆
      For home purposes, I guess you can utilize Virtual Textures for masks. They're made for large-scale unique data. But you won't be able to paint them in editor
      Also, combine procedural or triplanar noises, 2d painted maps (world scale) with per-asset masks (like curvature). That can get you a long way towards e.g. moss or dirt

    • @dist5788
      @dist5788 4 місяці тому +1

      @@TechArtAid a lot of news things to learn, thanks !

  • @Sylwester-Sajdak
    @Sylwester-Sajdak 2 роки тому

    A jak sprawdzić w swoim projekcie czy faktycznie użycie UDIM jest wydajniejsze od instancji materiału?

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

      Zobacz moją serię UE4 Graphics Profiling: ua-cam.com/play/PLF8ktr3i-U4A7vuQ6TXPr3f-bhmy6xM3S.html

    • @Sylwester-Sajdak
      @Sylwester-Sajdak 2 роки тому

      @@TechArtAid Dzięki! Na pewno obejrzę!

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

    👍