Thats some kind of sorcery i want to have nowadays
@lordkelvin15 күн бұрын
This is so well put together. Thank you! Really easy to listen to and follow along.
@enricobersani89485 күн бұрын
Great video, thank you. I have a question: how would you handle the precision of the collision for more complex meshes?
@virtumind5 күн бұрын
Great but hard for beginners like me. If you can explain each node what it does in more details and slower speed...thanks
@tufanaydin63406 күн бұрын
I loved your voice and telling <3
@kegsfx86036 күн бұрын
Sorry to hear about the tough times, thanks for the great content (but take all the time you need) :)
@LittleBlue4211 күн бұрын
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.
@bakedwafflesss12 күн бұрын
ball lightning
@knartfocker_12 күн бұрын
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...😅
@LilMadRat14 күн бұрын
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 💪
@christopherfrancique991215 күн бұрын
not getting line trace to work any ideas. really cool work thanks bro
@GoodLuckTogether16 күн бұрын
You So Wonderfull Best Guy So Thank you !! I wish You Forever Happy !!!
@mikerutkowski465316 күн бұрын
This video is so amazing. So straight forward and easier than thought. You rock
@RuneMod16 күн бұрын
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?
@Mavuse4717 күн бұрын
!!!y olé!!!😉😸💞
@torgath508817 күн бұрын
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.
@zyu04321 күн бұрын
The expressions are magic!
@무쇠다리-k2o22 күн бұрын
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.
@thebigflatnow835224 күн бұрын
// 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
@666nevermore25 күн бұрын
What a man we have here. Great tech artist
@Hieromonk.Augustine26 күн бұрын
*Error: r.Nanite.AllowTessellation is read only!* What you say about it?
@williamsrabenjamina26 күн бұрын
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
@lememaker27 күн бұрын
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!
@diluciousOK27 күн бұрын
Thanks @Enrique for your kindness, your tutorials are awesome
@666nevermore27 күн бұрын
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
@owenjenkinsofficial29 күн бұрын
The Colors mixing is a super nice detail. I cant imagine that was an easy task... maybe it was?
@ksuiegaming9346Ай бұрын
Great tutorial, I'm planning to use this starting point to build a whip. Thank you for sharing your knowledge.
@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Ай бұрын
Hello, my lightning is thin and just a few segments. How may I add more segments to my lightning and make them thicker?
@KnightPhantomGamesАй бұрын
The effect looks really good and I am grateful for the step-by-step breakdown. Thanks.
@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Ай бұрын
Great effect! Thank you!
@cms3dАй бұрын
Enriquee sacate un curso de Niagara ya por favor lo necesito! Increíble trabajo como siempre!
@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Ай бұрын
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Ай бұрын
Please how do i get the progress ( how much of the texture has been covered? )
@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Ай бұрын
oh that's why the other tutorials werent working too :/ damn idk how to make a electricity effect yet I need one..
@alexiszietlow29 күн бұрын
I'm having the same problem. Would love to hear if anyone is able to find a solution for this!
@LilMadRat14 күн бұрын
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Ай бұрын
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Ай бұрын
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Ай бұрын
thanks a lot i wanted to make my own voxel raytracer and even if this is still perfect
@nacho6247Ай бұрын
podrias compartir el proyecto buen hombre?
@v7ryj803Ай бұрын
how would i go about changing the strength / opacity of the lines for the shadow??
@nevarokАй бұрын
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Ай бұрын
After populating the grid around 30:47, all my particles are red and not green.. Any idea wha could be wrong?
@mmarianskyАй бұрын
I changed the translation matrix (in init emitter) to -0.5,-0.5,-0.5 and now it works, they are all green...
@seana690312 күн бұрын
@@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Ай бұрын
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 (:
@christopherstrawley70242 ай бұрын
Enrique, thank you so much for this tutorial! I've been a fan of yours for a while. This is one of the videos I've come back to a few times because I have never been able to get it to work. I always get stuck at the point when the scene capture component composite mode is switched to additive. For some reason, the whole mesh starts to slowly fill in with bright emissive white. Is there anything that I might be missing with the way that camera capture is set up? Thanks!
@mrjoneswtf2 ай бұрын
I'd love to learn how to apply some of these effects to a static mesh!