Пікірлер
@mwlbrt4239
@mwlbrt4239 4 күн бұрын
Thats some kind of sorcery i want to have nowadays
@lordkelvin1
@lordkelvin1 5 күн бұрын
This is so well put together. Thank you! Really easy to listen to and follow along.
@enricobersani8948
@enricobersani8948 5 күн бұрын
Great video, thank you. I have a question: how would you handle the precision of the collision for more complex meshes?
@virtumind
@virtumind 5 күн бұрын
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 6 күн бұрын
I loved your voice and telling <3
@kegsfx8603
@kegsfx8603 6 күн бұрын
Sorry to hear about the tough times, thanks for the great content (but take all the time you need) :)
@LittleBlue42
@LittleBlue42 11 күн бұрын
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 12 күн бұрын
ball lightning
@knartfocker_
@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...😅
@LilMadRat
@LilMadRat 14 күн бұрын
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 15 күн бұрын
not getting line trace to work any ideas. really cool work thanks bro
@GoodLuckTogether
@GoodLuckTogether 16 күн бұрын
You So Wonderfull Best Guy So Thank you !! I wish You Forever Happy !!!
@mikerutkowski4653
@mikerutkowski4653 16 күн бұрын
This video is so amazing. So straight forward and easier than thought. You rock
@RuneMod
@RuneMod 16 күн бұрын
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 17 күн бұрын
!!!y olé!!!😉😸💞
@torgath5088
@torgath5088 17 күн бұрын
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 21 күн бұрын
The expressions are magic!
@무쇠다리-k2o
@무쇠다리-k2o 22 күн бұрын
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 24 күн бұрын
// 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 25 күн бұрын
What a man we have here. Great tech artist
@Hieromonk.Augustine
@Hieromonk.Augustine 26 күн бұрын
*Error: r.Nanite.AllowTessellation is read only!* What you say about it?
@williamsrabenjamina
@williamsrabenjamina 26 күн бұрын
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 27 күн бұрын
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 27 күн бұрын
Thanks @Enrique for your kindness, your tutorials are awesome
@666nevermore
@666nevermore 27 күн бұрын
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 29 күн бұрын
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 29 күн бұрын
I'm having the same problem. Would love to hear if anyone is able to find a solution for this!
@LilMadRat
@LilMadRat 14 күн бұрын
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 Ай бұрын
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 Ай бұрын
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 Ай бұрын
thanks a lot i wanted to make my own voxel raytracer and even if this is still perfect
@nacho6247
@nacho6247 Ай бұрын
podrias compartir el proyecto buen hombre?
@v7ryj803
@v7ryj803 Ай бұрын
how would i go about changing the strength / opacity of the lines for the shadow??
@nevarok
@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
@mmariansky Ай бұрын
After populating the grid around 30:47, all my particles are red and not green.. Any idea wha could be wrong?
@mmariansky
@mmariansky Ай бұрын
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 12 күн бұрын
@@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 Ай бұрын
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 (:
@christopherstrawley7024
@christopherstrawley7024 2 ай бұрын
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!
@mrjoneswtf
@mrjoneswtf 2 ай бұрын
I'd love to learn how to apply some of these effects to a static mesh!
@xinpengliu
@xinpengliu 2 ай бұрын
Awesome!👍
@khalid5652
@khalid5652 2 ай бұрын
Why u play sleepy music on the background? 🥱
@lucasvoluntario4317
@lucasvoluntario4317 2 ай бұрын
The password is not working😔
@Sunnny851
@Sunnny851 2 ай бұрын
getting this error after first code