Enrique Ventura
Enrique Ventura
  • 123
  • 411 801

Відео

Unreal 5.3 - Inter particle collision and neighbor grids explained (FULL TUTORIAL)
Переглядів 5 тис.5 місяців тому
In this video I'll show a step by step guide on how to make particles collide with each other in Niagara, using Neighbor grids and simple rigid body dynamics. Enjoy! :)
Unreal 5.3 - Material effects based on camera distance (FULL TUTORIAL)
Переглядів 4,7 тис.7 місяців тому
In this quick and easy tutorial I'm answering a frequent shader question, which is: how to change material parameters based on the distance to the camera? Also, 5000 subscribers! Thanks everyone for the continued support!
Unreal 5.3 - Into the Spiderverse effects: choppy animations
Переглядів 5 тис.10 місяців тому
In this short tutorial I'll show you how to tweak animation content to make it look like it was animated at a lower frame rate (also known as "animating on twos"); this is an effect widely used in movies like "Into the Spiderverse" or the recent "Teenage Mutant Ninja Turtles".
Unreal 5.3 - The Jump Flood Algorithm (or how to make wide outlines!)
Переглядів 4,8 тис.11 місяців тому
In this video I cover the basics of the Jump Flood Algorithm (JFA), and how to make the effect in Unreal Engine. This version uses a single Render Target, unlike other similar tutorials. Ben Golus' Post on the subject: bgolus.medium.com/the-quest-for-very-wide-outlines-ba82ed442cd9 Shadertoy version: www.shadertoy.com/view/4syGWK
Unreal 5.3 - Edit volumetric cloud textures in runtime!
Переглядів 1,6 тис.11 місяців тому
Here's a demo of the pseudo volume texture editor that was made from scratch in the latest tutorial. Enjoy! :)
Unreal 5.3 - Making a volumetric ray marching shader from scratch (part 3)
Переглядів 3,6 тис.11 місяців тому
In this video we will finish our volumetric raymarcher material by adding some animated noise, and make a pseudo volume texture editor that works in runtime, so you can modify these clouds with gameplay effects. As a remainder, this whole series is based on work by Ryan Brucks; check out his blog at shaderbits.com/
Unreal 5.3 - Making a volumetric ray marching shader from scratch (part 2)
Переглядів 5 тис.11 місяців тому
In this video we are going to add a few features to our volumetric shader: - Directional lighting - Self shadowing - Ambient/Sky lighting - Distance field mesh shadows - Scene light linking Same as the previous video, this is based on a tutorial series made by Ryan Brucks, Principal Technical Artist at Epic Games. Check out his blog at shaderbits.com/ Texture used in the video: www.dropbox.com/...
Unreal 5.3 - Making a volumetric ray marching shader from scratch (part 1)
Переглядів 13 тис.Рік тому
In this new video series we will create a volumetric ray marching shader completely from scratch, including a pseudo volume texture editor that we can use in-engine. Some notes: - This is based on a tutorial series made by Ryan Brucks, Principal Technical Artist at Epic Games. Check out his blog at shaderbits.com/ - The volumetrics plugin has a pseudo volume raymarcher (also made by Ryan), but ...
Unreal 5.3 - Advanced Niagara fireworks - Chapter 3: Explosions!
Переглядів 2,9 тис.Рік тому
Unreal 5.3 - Advanced Niagara fireworks - Chapter 3: Explosions!
Unreal 5.3 - Displacement map and Tessellation in Nanite meshes! (NEW FEATURE TUTORIAL)
Переглядів 12 тис.Рік тому
Unreal 5.3 - Displacement map and Tessellation in Nanite meshes! (NEW FEATURE TUTORIAL)
Unreal 5.3 - Advanced Fireworks system in Niagara. Chapter 2: Trails and flares!
Переглядів 2,5 тис.Рік тому
Unreal 5.3 - Advanced Fireworks system in Niagara. Chapter 2: Trails and flares!
Unreal 5.2 - Advanced fireworks system (FULL TUTORIAL) Part 1: Blueprint logic
Переглядів 3,4 тис.Рік тому
Unreal 5.2 - Advanced fireworks system (FULL TUTORIAL) Part 1: Blueprint logic
PBR 4K Tiling Materials: 005 - Beach sand (FREE DOWNLOAD)
Переглядів 511Рік тому
PBR 4K Tiling Materials: 005 - Beach sand (FREE DOWNLOAD)
Unreal 5.2 - Advanced fireworks system using Niagara (TEASER)
Переглядів 764Рік тому
Unreal 5.2 - Advanced fireworks system using Niagara (TEASER)
Unreal 5.2 - Spiderverse effects using Niagara: The Spot (FULL TUTORIAL)
Переглядів 5 тис.Рік тому
Unreal 5.2 - Spiderverse effects using Niagara: The Spot (FULL TUTORIAL)
Unreal 5.2 - Spiderverse effects: The Spot (Teaser)
Переглядів 1,1 тис.Рік тому
Unreal 5.2 - Spiderverse effects: The Spot (Teaser)
PBR 4K Tiling Materials: 004 - Treasure pile (FREE DOWNLOAD)
Переглядів 402Рік тому
PBR 4K Tiling Materials: 004 - Treasure pile (FREE DOWNLOAD)
PBR 4K Tiling Materials: 003 - Alien surface (FREE DOWNLOAD)
Переглядів 518Рік тому
PBR 4K Tiling Materials: 003 - Alien surface (FREE DOWNLOAD)
PBR 4K Tiling Materials: 002 - Gilded ornate ceiling (FREE DOWNLOAD)
Переглядів 414Рік тому
PBR 4K Tiling Materials: 002 - Gilded ornate ceiling (FREE DOWNLOAD)
PBR 4K Tiling Materials: 001 - Space Fabric (FREE DOWNLOAD)
Переглядів 295Рік тому
PBR 4K Tiling Materials: 001 - Space Fabric (FREE DOWNLOAD)
Unreal 5.2 - Mesh to Voxel effect (NIAGARA TUTORIAL)
Переглядів 11 тис.Рік тому
Unreal 5.2 - Mesh to Voxel effect (NIAGARA TUTORIAL)
Unreal 5.2 - Mesh to Voxel effect (Teaser)
Переглядів 1,2 тис.Рік тому
Unreal 5.2 - Mesh to Voxel effect (Teaser)
Unreal 5.2 - Spiderverse GLITCH post process effect (FULL TUTORIAL)
Переглядів 19 тис.Рік тому
Unreal 5.2 - Spiderverse GLITCH post process effect (FULL TUTORIAL)
Unreal 5.2 - Spiderverse inspired post process effect (FULL TUTORIAL)
Переглядів 21 тис.Рік тому
Unreal 5.2 - Spiderverse inspired post process effect (FULL TUTORIAL)
Learn Houdini Apprentice (Free Version) from scratch. Chapter 2: 500K paper planes!
Переглядів 1,4 тис.Рік тому
Learn Houdini Apprentice (Free Version) from scratch. Chapter 2: 500K paper planes!
Unreal 5.2 - Magical spirals using Niagara (FULL TUTORIAL)
Переглядів 5 тис.Рік тому
Unreal 5.2 - Magical spirals using Niagara (FULL TUTORIAL)
Learn Houdini Apprentice (Free Version) from scratch. Chapter 1: Basics
Переглядів 4,2 тис.Рік тому
Learn Houdini Apprentice (Free Version) from scratch. Chapter 1: Basics
Unreal 5.1 - "Edge of reality" Post process effect (FULL TUTORIAL)
Переглядів 4,1 тис.Рік тому
Unreal 5.1 - "Edge of reality" Post process effect (FULL TUTORIAL)
Unreal 5.1 - Turn any Niagara particle system into metaballs (BEGINNER TUTORIAL)
Переглядів 8 тис.Рік тому
Unreal 5.1 - Turn any Niagara particle system into metaballs (BEGINNER TUTORIAL)

КОМЕНТАРІ

  • @Leroyhines-j6p
    @Leroyhines-j6p День тому

    i dont know if u will answer this, but does it matter if u dont use dynamic parameter for the niagarra system, i only ask this because my Unreal keeps crashing when i spawn this NS, in editor?

  • @signofra125
    @signofra125 6 днів тому

    Where can I purchase a project?

  • @linkrealities
    @linkrealities 6 днів тому

    Hi Enrique, first of all, thanks a lot for the tutorial series, it was really great to watch, good explained, and easy to follow. I just wanted to ask, if you found a solution for the non-uniform scaling issue in the meantime

  • @changodaft2833
    @changodaft2833 6 днів тому

    Thanks that's amazing.I struggled with antialiasing,now it's quite better! And i.q. is surely a great man!

  • @jayt8581
    @jayt8581 7 днів тому

    This tutorial is fantastic. I have the electric arc working great. My only trouble is that it will not spawn from the sphere. It spawns away from it. Any ideas on what to look into?

    • @jayt8581
      @jayt8581 7 днів тому

      I think i figured it out in 5.4. Under Beam Emitter Setup, it needs to have Absolute Beam Start Enabled. I also had to switch Conversion Operation to World Position Vector. It’s working.

  • @laurensdesmet70
    @laurensdesmet70 7 днів тому

    I'm wondering... If you'd transform a heightmap into a displacement map, and you'd apply it to a flat plane, would you be able to create a "landscape" relief or even a hill? And if so, would this be something the player could walk on or would collision be difficult on such an extreme case? For top down games, that might be interesting.

  • @mwlbrt4239
    @mwlbrt4239 12 днів тому

    Thats some kind of sorcery i want to have nowadays

  • @lordkelvin1
    @lordkelvin1 13 днів тому

    This is so well put together. Thank you! Really easy to listen to and follow along.

  • @enricobersani8948
    @enricobersani8948 13 днів тому

    Great video, thank you. I have a question: how would you handle the precision of the collision for more complex meshes?

  • @virtumind
    @virtumind 13 днів тому

    Great but hard for beginners like me. If you can explain each node what it does in more details and slower speed...thanks

  • @tufanaydin6340
    @tufanaydin6340 14 днів тому

    I loved your voice and telling <3

  • @kegsfx8603
    @kegsfx8603 14 днів тому

    Sorry to hear about the tough times, thanks for the great content (but take all the time you need) :)

  • @LittleBlue42
    @LittleBlue42 20 днів тому

    Could this in theory be reproduced using a scratch pad to generate a vector field instead of using a material? Id like to attempt to extend this effect into 3 dimensions.

  • @bakedwafflesss
    @bakedwafflesss 20 днів тому

    ball lightning

  • @knartfocker_
    @knartfocker_ 21 день тому

    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...😅

  • @LilMadRat
    @LilMadRat 22 дні тому

    Hey everyone trying on Unreal 5.4, when you get to 11:13, your lightning is going to go crazy because the effect is drawing the beam every single frame. Switch the offset to Random Range Vector and change the Evaluation Type from "Every Frame" to "Spawn Only". I think what's happening is the new default has been changed to draw every single frame but we just want to have it evaluate on spawn. There's probably a cleaner way to do this but I've found this method allows me to get a better result. Awesome video by the way Enrique, keep it up 💪

  • @christopherfrancique9912
    @christopherfrancique9912 23 дні тому

    not getting line trace to work any ideas. really cool work thanks bro

  • @GoodLuckTogether
    @GoodLuckTogether 24 дні тому

    You So Wonderfull Best Guy So Thank you !! I wish You Forever Happy !!!

  • @mikerutkowski4653
    @mikerutkowski4653 24 дні тому

    This video is so amazing. So straight forward and easier than thought. You rock

  • @RuneMod
    @RuneMod 24 дні тому

    I see this guy is drawing to a canvas rendertarget multiple times per frame. Last time I did this in unreal, it had a high impact on performance. Can anyone comment on this?

  • @Mavuse47
    @Mavuse47 25 днів тому

    !!!y olé!!!😉😸💞

  • @torgath5088
    @torgath5088 26 днів тому

    Hi! How do Iwork with the compute shader? I am trying to find information on how to do that in UE5 /UE4 but can't find anything online. All have now are my uplugin with a module and nearly blank ush and header files.

  • @zyu043
    @zyu043 29 днів тому

    The expressions are magic!

  • @무쇠다리-k2o
    @무쇠다리-k2o Місяць тому

    Hello, I've followed the steps up to 11:36, but my secondary trace is behaving strangely. It doesn't connect with the first trace and instead forms a shape on its own, pointing upwards toward the ceiling. I'm not sure why this is happening.

  • @thebigflatnow8352
    @thebigflatnow8352 Місяць тому

    // Insert the body of the function here and add any inputs // and outputs by name using the add pins above. // Currently, complicated branches, for loops, switches, etc are not advised. OutPosition = Position; NeighbourCount = 0; Collided = false; #if GPU_SIMULATION const int3 IndexOffsets [ 27 ] = { int3(-1,-1,-1), int3(-1,-1, 0), int3(-1,-1, 1), int3(-1, 0,-1), int3(-1, 0, 0), int3(-1, 0, 1), int3(-1, 1,-1), int3(-1, 1, 0), int3(-1, 1, 1), int3(0,-1,-1), int3(0,-1, 0), int3(0,-1, 1), int3(0, 0,-1), int3(0, 0, 0), int3(0, 0, 1), int3(0, 1,-1), int3(0, 1, 0), int3(0, 1, 1), int3(1,-1,-1), int3(1,-1, 0), int3(1,-1, 1), int3(1, 0,-1), int3(1, 0, 0), int3(1, 0, 1), int3(1, 1,-1), int3(1, 1, 0), int3(1, 1, 1), }; float3 FinalOffsetVector = {0, 0, 0}; // Corrected initialization //Number of grid cells int3 NumCells; Grid.GetNumCells(NumCells.x, NumCells.y, NumCells.z); //Max neighbours per cell int MaxNeighborsPerCell; Grid.MaxNeighborsPerCell(MaxNeighborsPerCell); //Position in Unit space float3 UnitPos; Grid.SimulationToUnit(Position, SimToUnit, UnitPos); //Convert to XYZ grid index (current cell) int3 Index; Grid.UnitToIndex(UnitPos, Index.x,Index.y,Index.z); //Iterate through cells for (int xxx = 0; xxx < 27; xxx++) { //Index of cell to test const int3 IndexToUse = Index + IndexOffsets[xxx]; //Ignore cells outside boundaries if (IndexToUse.x >= 0 && IndexToUse.x < NumCells.x && IndexToUse.y >= 0 && IndexToUse.y < NumCells.y && IndexToUse.z >= 0 && IndexToUse.z < NumCells.z) { //Convert index to linear int LinearIndex; Grid.IndexToLinear(IndexToUse.x, IndexToUse.y, IndexToUse.z, LinearIndex); //Number of particles in cell int NeighboursInCell; Grid.GetParticleNeighborCount(LinearIndex, NeighboursInCell); //Iterate through particles in cell for (int ind = 0; ind < NeighboursInCell; ind++) { //Linear index of current particle int NeighborLinearIndex; Grid.NeighborGridIndexToLinear(IndexToUse.x, IndexToUse.y, IndexToUse.z, ind, NeighborLinearIndex); //Execution index of current particle (ID) int CurrNeighborIdx; Grid.GetParticleNeighbor(NeighborLinearIndex, CurrNeighborIdx); //Ignore self if (CurrNeighborIdx == ExecIndex || CurrNeighborIdx==-1) continue; //Bool to store read results bool readResult; //Read Position float3 OtherPosition; ParticleReader.GetPositionByIndex<Attribute="Position">(CurrNeighborIdx, readResult, OtherPosition); if (!readResult) continue; //Read Radius float OtherRadius; ParticleReader.GetFloatByIndex<Attribute="CollisionRadius">(CurrNeighborIdx, readResult, OtherRadius); //Calculate distance and push direction const float3 PushDirection = Position - OtherPosition; const float Dist = length(PushDirection); const float3 PushDirectionUnit = PushDirection/Dist; float Overlap = (In_CollisionRadius + OtherRadius) - Dist; // Use In_CollisionRadius if (Overlap > 0.f) { NeighbourCount ++; Collided = true; //Read Mass float OtherMass; ParticleReader.GetFloatByIndex<Attribute="Mass">(CurrNeighborIdx, readResult, OtherMass); if (!readResult) continue; float MassPercentage = Mass / (Mass + OtherMass); FinalOffsetVector += (1.0 - MassPercentage) * Overlap * PushDirectionUnit; } } } } if(Collided) { OutPosition += 1.f*FinalOffsetVector / NeighbourCount; } #endif

  • @666nevermore
    @666nevermore Місяць тому

    What a man we have here. Great tech artist

  • @Hieromonk.Augustine
    @Hieromonk.Augustine Місяць тому

    *Error: r.Nanite.AllowTessellation is read only!* What you say about it?

  • @williamsrabenjamina
    @williamsrabenjamina Місяць тому

    How to use it in sequencer without simulation because it doesn't seem to work when I'm rendering.... Also, I use third peson iny my game so simulating is not the best approach for me

  • @lememaker
    @lememaker Місяць тому

    this is perfect for what ive been trying to do. im trying to give my character a stylized flame head, and i found a way in blender with metaballs that looked perfect, but then found that baking the animation in blender caused it to no longer be dynamic. but this fixes all that. Thx!

  • @diluciousOK
    @diluciousOK Місяць тому

    Thanks @Enrique for your kindness, your tutorials are awesome

  • @666nevermore
    @666nevermore Місяць тому

    Hi Enrique. back at your videos again. i didn't really understand what you did to calcualte shadows based on the distance field. A genuine question: Is it possible to get this shadow mask from the distance fields even without computing through they ray marching? Let's say you have a normal surface, and you want to mask on it the shadow of another object. I'm trying to replicate this rn but i'm struggling to grasp that very part. Thank you in advance, you are great <3

  • @owenjenkinsofficial
    @owenjenkinsofficial Місяць тому

    The Colors mixing is a super nice detail. I cant imagine that was an easy task... maybe it was?

  • @ksuiegaming9346
    @ksuiegaming9346 Місяць тому

    Great tutorial, I'm planning to use this starting point to build a whip. Thank you for sharing your knowledge.

  • @srisair
    @srisair Місяць тому

    In case anyone is having trouble with the code not working, there is a small typo, use this float afwidth = 0.7 * length((DDX(B), (DDY(B)))); return smoothstep(A-afwidth, A*afwidth, B);

  • @hotsauce7124
    @hotsauce7124 Місяць тому

    Hello, my lightning is thin and just a few segments. How may I add more segments to my lightning and make them thicker?

  • @KnightPhantomGames
    @KnightPhantomGames Місяць тому

    The effect looks really good and I am grateful for the step-by-step breakdown. Thanks.

  • @davidhayward1426
    @davidhayward1426 Місяць тому

    Great tutorial. You can likely make the shader a bit faster by replacing the "length(a-b)" with the cheaper expression "dot(a-b,a-b)" which is the square of the distance.

  • @geocherk
    @geocherk Місяць тому

    Great effect! Thank you!

  • @cms3d
    @cms3d Місяць тому

    Enriquee sacate un curso de Niagara ya por favor lo necesito! Increíble trabajo como siempre!

  • @leegarfield8959
    @leegarfield8959 Місяць тому

    Hello, nice tutorial, but... no "VolumeBoxIntersect" function in Unreal Engine 5.4, Impossible to follow, and it worries me, that depending on this function may cause future versions to stop clouds from working and if we scale it, it damages the cloud, question: why not a great RayMarching material tutorial like the previous one with absolute world position and atmosphere sunlight, but better quality and not splited by the cube, because that material still works today.

    • @Meliorat3d
      @Meliorat3d Місяць тому

      Where you search for VolumeBoxIntersect be sure to check your filters are looking at plugins and not just C++ classes. Right next to the searchbox

  • @XadegamerOfficial
    @XadegamerOfficial Місяць тому

    Please how do i get the progress ( how much of the texture has been covered? )

  • @AaronFevens
    @AaronFevens Місяць тому

    Unfortunately, this doesn't seem to work anymore in 5.4. It seems that Niagara's Beam Emitter Setup has changed and now the vector position information from the event graph doesn't plug into the Beam Start and End positions cleanly. It's insistent on converting the vector into a position instead of just using the vector as a position. I can't seem to find the right settings to make it work.

    • @wareyl3591
      @wareyl3591 Місяць тому

      oh that's why the other tutorials werent working too :/ damn idk how to make a electricity effect yet I need one..

    • @alexiszietlow
      @alexiszietlow Місяць тому

      I'm having the same problem. Would love to hear if anyone is able to find a solution for this!

    • @LilMadRat
      @LilMadRat 22 дні тому

      I tried changing the jitter offset to Random Range Vector, then I changed Evaluation Type from Every Frame to Spawn only. This seemed to provide a bit better of a result, might be worth a try.

  • @jonin-xi6kq
    @jonin-xi6kq 2 місяці тому

    hello there i would insanely appreciate if you told me how to do this with an actual volume texture node because i found no volume texture node that returns a volume object instead of just uv based rgb

  • @BagBuff
    @BagBuff 2 місяці тому

    Hola Amigo! Loving this series. Thanks for taking the time! I've been scouring the web all week and this is the first tut that makes sense. I have to ask because I can't find info on it anywhere... Do you know of any resources that go over creating a Pseudo Volume Texture from a mesh? I am very comfortable in Blender, so that would be a bonus! I am wanting to turn models into textures to use as volumes in UE5 for a current project.

  • @jonin-xi6kq
    @jonin-xi6kq 2 місяці тому

    thanks a lot i wanted to make my own voxel raytracer and even if this is still perfect

  • @nacho6247
    @nacho6247 2 місяці тому

    podrias compartir el proyecto buen hombre?

  • @v7ryj803
    @v7ryj803 2 місяці тому

    how would i go about changing the strength / opacity of the lines for the shadow??

  • @nevarok
    @nevarok 2 місяці тому

    Hey Enrique, thank you for your amazing content! I made a plugin that does the choppy animation trick with a single node in anim BP. and I would like to share it with you if you have any interest

  • @mmariansky
    @mmariansky 2 місяці тому

    After populating the grid around 30:47, all my particles are red and not green.. Any idea wha could be wrong?

    • @mmariansky
      @mmariansky 2 місяці тому

      I changed the translation matrix (in init emitter) to -0.5,-0.5,-0.5 and now it works, they are all green...

    • @seana6903
      @seana6903 20 днів тому

      @@mmariansky Stuck here myself - any better explanation of where exactly to find it? Been looking through from top to bottom of this and haven't found the spot.

  • @Zarosian_Ice
    @Zarosian_Ice 2 місяці тому

    Wow, coming from blender i wanted to do some water particles and got a bit sad i couldn't get it to work till my brain got some wrinkles and remembered about metaballs in blender :D Happy to see they're a thing in ue5 as well (: