Fantastic!! Especially love the use of expressions, something I've wanted to understand better in my Niagara setups.
@zyu0432 ай бұрын
The expressions are magic!
@cryingpsycho Жыл бұрын
You never fail to amaze me every time you post a new tutorial Keep up the great work man!
@EnriqueVenturaGames Жыл бұрын
Thanks, will do!
@lukegordonharris Жыл бұрын
Next level stuff Enrique!! Yet another awesome thing to add to the list of stuff to try out :D
@EnriqueVenturaGames Жыл бұрын
Thank you!
@knartfocker_2 ай бұрын
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...😅
@JuanCamiloEscobarMoskatero Жыл бұрын
This is pretty damn cool
@fabiostabel7 ай бұрын
This is amazing! Thanks for sharing!!!
@EnriqueVenturaGames7 ай бұрын
You are so welcome! Glad you enjoyed it! :)
@denrusdenruss4175 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@EnriqueVenturaGames Thanks bro! I definetly will try it
@HuskDanny5 ай бұрын
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?
@EnriqueVenturaGames3 ай бұрын
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.
@azrhyga Жыл бұрын
Very great tutorial!! Good job making it!!
@doi04046 ай бұрын
Is it possible to make static mesh to voxel?
@SubzeroBlack686 ай бұрын
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.
@DeathClonic Жыл бұрын
I don't like the shimmering and I'm worried about performance, but overall this is really cool
@EnriqueVenturaGames Жыл бұрын
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.
@HaloDiv9 ай бұрын
I tried to use NeighborGrid3D to solve that issue but I haven't had any luck. Did you ever get that to work? @@EnriqueVenturaGames
@AboutJOB-dq6pj Жыл бұрын
Thank you for sharing this :)
@EnriqueVenturaGames Жыл бұрын
No problem 😊
@spectrecular97215 ай бұрын
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 😅
@spectrecular97215 ай бұрын
Oh actually, the cursor appears to be ahead of time. Weird lol
@EnriqueVenturaGames4 ай бұрын
Thanks! I know, I was using a really bad software but recent videos have been made using OBS, which works a lot better :)
@locustslacker66148 ай бұрын
How to achieve this effect in Godot?
@BakedBrad9 ай бұрын
Bravo
@ervinsparks1606 Жыл бұрын
*Promosm*
@SubzeroBlack686 ай бұрын
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?
@EnriqueVenturaGames6 ай бұрын
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.
@aryanbarure14796 ай бұрын
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
@SubzeroBlack686 ай бұрын
Is "GridSize" spelled the same way as the Parameter "GridSize" that is underneath the Preview?
@EnriqueVenturaGames6 ай бұрын
What is the error in the niagara log?
@aryanbarure14796 ай бұрын
@@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
@caracal38927 ай бұрын
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)
@EnriqueVenturaGames7 ай бұрын
Can you post the error message?
@Wayne-w3f6 күн бұрын
@@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?