- 123
- 411 801
Enrique Ventura
Canada
Приєднався 4 жов 2011
Hola amigos! I'm a video game designer / tech artist located in Vancouver Canada. Some of the games I've worked on:
- Destiny 2
- Halo Infinite
- Dead Rising 3 and 4
- Castlevania: Lords of Shadow 1 and 2
- Imperial Glory
Follow the channel to hear me talking about shaders, fabrication, costumes, and all sorts of random fun stuff! :D
- Destiny 2
- Halo Infinite
- Dead Rising 3 and 4
- Castlevania: Lords of Shadow 1 and 2
- Imperial Glory
Follow the channel to hear me talking about shaders, fabrication, costumes, and all sorts of random fun stuff! :D
Відео
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)
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?
Where can I purchase a project?
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
Thanks that's amazing.I struggled with antialiasing,now it's quite better! And i.q. is surely a great man!
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?
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.
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.
Thats some kind of sorcery i want to have nowadays
This is so well put together. Thank you! Really easy to listen to and follow along.
Great video, thank you. I have a question: how would you handle the precision of the collision for more complex meshes?
Great but hard for beginners like me. If you can explain each node what it does in more details and slower speed...thanks
I loved your voice and telling <3
Sorry to hear about the tough times, thanks for the great content (but take all the time you need) :)
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.
ball lightning
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...😅
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 💪
not getting line trace to work any ideas. really cool work thanks bro
You So Wonderfull Best Guy So Thank you !! I wish You Forever Happy !!!
This video is so amazing. So straight forward and easier than thought. You rock
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?
!!!y olé!!!😉😸💞
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.
The expressions are magic!
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.
// 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
What a man we have here. Great tech artist
*Error: r.Nanite.AllowTessellation is read only!* What you say about it?
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
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!
Thanks @Enrique for your kindness, your tutorials are awesome
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
The Colors mixing is a super nice detail. I cant imagine that was an easy task... maybe it was?
Great tutorial, I'm planning to use this starting point to build a whip. Thank you for sharing your knowledge.
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);
Hello, my lightning is thin and just a few segments. How may I add more segments to my lightning and make them thicker?
The effect looks really good and I am grateful for the step-by-step breakdown. Thanks.
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.
Great effect! Thank you!
Enriquee sacate un curso de Niagara ya por favor lo necesito! Increíble trabajo como siempre!
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.
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
Please how do i get the progress ( how much of the texture has been covered? )
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.
oh that's why the other tutorials werent working too :/ damn idk how to make a electricity effect yet I need one..
I'm having the same problem. Would love to hear if anyone is able to find a solution for this!
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.
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
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.
thanks a lot i wanted to make my own voxel raytracer and even if this is still perfect
podrias compartir el proyecto buen hombre?
how would i go about changing the strength / opacity of the lines for the shadow??
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
After populating the grid around 30:47, all my particles are red and not green.. Any idea wha could be wrong?
I changed the translation matrix (in init emitter) to -0.5,-0.5,-0.5 and now it works, they are all green...
@@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.
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 (: