Unreal 5.2 - Mesh to Voxel effect (NIAGARA TUTORIAL)

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии •

  • @DavidWKimber
    @DavidWKimber Год назад +3

    Fantastic!! Especially love the use of expressions, something I've wanted to understand better in my Niagara setups.

  • @cryingpsycho
    @cryingpsycho Год назад

    You never fail to amaze me every time you post a new tutorial
    Keep up the great work man!

  • @lukegordonharris
    @lukegordonharris Год назад

    Next level stuff Enrique!! Yet another awesome thing to add to the list of stuff to try out :D

  • @KiteO2
    @KiteO2 22 дня назад

    Hey man, that's really great, thanks for the tutorial
    One thing i'm wondering is, if you need to make it appear with some effects after you made it disappear, what would be your take on that? Desactivating the physics just makes him spawn which isn't so great visually

  • @zyu043
    @zyu043 4 месяца назад

    The expressions are magic!

  • @knartfocker_
    @knartfocker_ 3 месяца назад

    Great channel! Is there any way to sample the texture from the mesh in local UVW space? My issue is the skeletal mesh I am trying to apply this to has 10 materials...😅

  • @denrusdenruss4175
    @denrusdenruss4175 Год назад +1

    Great tutorial! I have a question, is it possible to combine this system with a one that you showed in video "How to paint damage textures and other effects on skeletal meshes" to pixelize damaged areas of skeletal mesh? If yes, could you pls give a direction how to implement this? Thanks!

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  Год назад

      Yeah absolutely! You can check my video on the Spot VFX, where I do something very similar: first, you can use the "paint textures on meshes" method to generate an opacity mask. Next in Niagara, create the voxel particle effect and also sample the opacity mask texture. Finally, destroy any particles that sampled the unmasked parts of the texture, so you keep only the voxels from the damaged parts of your mesh.

    • @denrusdenruss4175
      @denrusdenruss4175 Год назад

      @@EnriqueVenturaGames Thanks bro! I definetly will try it

  • @azrhyga
    @azrhyga Год назад

    Very great tutorial!! Good job making it!!

  • @fabiostabel
    @fabiostabel 9 месяцев назад

    This is amazing! Thanks for sharing!!!

  • @owo9938
    @owo9938 28 дней назад

    Is it only a effect on UE or you can export this voxel version model to other applications, such as zbrush? If so, I think it will be a good way to create voxel style figure.

  • @HuskDanny
    @HuskDanny 7 месяцев назад

    Hi Enrique, Love your tutorials, thank you for all of the times I have watched and learned from you. I am following this tutorial, doing fine until you said 'add a sample texture'. Our game's characters and clothing etc is made up of mostly RGB masks and material layers...So I am wondering is it possible to somehow sample whatever colors the material applied to the mesh has because if you don't have a 'diffuse/albedo' texture?

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  5 месяцев назад +1

      Hmmm if that is your setup, I don't think you can sample the final mesh color directly. I can think of two options:
      If the material setup in your project is standardized and all meshes use a similar one, you could use custom modules in Niagara to get the color from the UV coordinates that the particle occupies, going through your RGB masks and material layers. This is technically possible but it could get out of hand if the materials have a lot of layers.
      The approach I think would work best would be to bake the final mesh color as a low res texture, either as an offline process during content creation, or dynamically in game, if you are assembling these materials in runtime.

  • @SubzeroBlack68
    @SubzeroBlack68 8 месяцев назад

    Whats the performance impact like for this effect?
    I am planning out a Voxel world game and needed something like this for the characters But was curious if this will make my fps go down the drain or not. In case I have to redesign the game for a smaller scope.

  • @JuanCamiloEscobarMoskatero
    @JuanCamiloEscobarMoskatero Год назад

    This is pretty damn cool

  • @spectrecular9721
    @spectrecular9721 7 месяцев назад

    This is incredibly interesting, thanks for sharing!
    Side note: There seems to be some lag or latency in whatever software you're using to display the cursor position and inputs. It's a little disorienting/distracting 😅

    • @spectrecular9721
      @spectrecular9721 7 месяцев назад

      Oh actually, the cursor appears to be ahead of time. Weird lol

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  6 месяцев назад

      Thanks! I know, I was using a really bad software but recent videos have been made using OBS, which works a lot better :)

  • @DeathClonic
    @DeathClonic Год назад +1

    I don't like the shimmering and I'm worried about performance, but overall this is really cool

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  Год назад +2

      Thank you! Yeah, it all happens because of overlapping voxels. You can use 3d grids to find close neighbors and run a pass on them to remove the ones occupying the same space.
      Didn't go over this because the video was already long, but I might do one on neighbor grids in the future.

    • @HaloDiv
      @HaloDiv 11 месяцев назад

      I tried to use NeighborGrid3D to solve that issue but I haven't had any luck. Did you ever get that to work? @@EnriqueVenturaGames

  • @doi0404
    @doi0404 8 месяцев назад

    Is it possible to make static mesh to voxel?

  • @AboutJOB-dq6pj
    @AboutJOB-dq6pj Год назад

    Thank you for sharing this :)

  • @locustslacker6614
    @locustslacker6614 10 месяцев назад

    How to achieve this effect in Godot?

  • @BakedBrad
    @BakedBrad 10 месяцев назад

    Bravo

  • @ervinsparks1606
    @ervinsparks1606 Год назад

    *Promosm*

  • @caracal3892
    @caracal3892 9 месяцев назад

    When I attempt to add your expression at 17 minutes it shows a compiler error. I checked several times for spelling errors hower I can not find one:
    Here is the exact paste of what I typed:
    float2(round(Particles.SkeletalMeshLocation.SampledUV.x/User.TextureGridSize)*User.TextureGridSize,round(Particles.SkeletalMeshLocation.SampledUV.y/User.TextureGridSize)*User.TextureGridSize)

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  9 месяцев назад

      Can you post the error message?

    • @Wayne-w3f
      @Wayne-w3f 2 месяца назад

      @@EnriqueVenturaGames Hi, I have the same issue, and the error message shows[Cannot use variable in custom expression, it hasn't been encountered yet: User.TextureGridSize - Node: Custom Hlsl - Empty, Particle Spawn Script Interpolated, ], do you have any idea?

  • @SubzeroBlack68
    @SubzeroBlack68 8 месяцев назад

    Even with " User.GridSize/100 " my voxels are not lining up perfectly on my own model. Is this something we have to change with different models or change the GridSize under the User Parameters Float value?

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  8 месяцев назад

      Not necessarily, I would say that it depends on the needs of your project. If all the objects in your project have a similar visual style, you probably could have a constant grid size shared across all of them.
      Since the voxels' positions are rounded to be in a grid, they will never match organic meshes with 100% accuracy, but you can get close if your models are more blocky.

  • @aryanbarure1479
    @aryanbarure1479 8 месяцев назад

    Ive been unable to get through the first 10 mins :(
    I put in this expression for the oarticle position but it just doesnt compile
    (round(Particles.Position/User.GridSize))*User.GridSize

    • @SubzeroBlack68
      @SubzeroBlack68 8 месяцев назад

      Is "GridSize" spelled the same way as the Parameter "GridSize" that is underneath the Preview?

    • @EnriqueVenturaGames
      @EnriqueVenturaGames  8 месяцев назад

      What is the error in the niagara log?

    • @aryanbarure1479
      @aryanbarure1479 8 месяцев назад +1

      @@EnriqueVenturaGames Oh i happened to fix it myself xDD Turns out it was just a random error and after restarting unreal it just worked idk how xDD