Not really in this case. MultiMesh and particles are both handled by the GPU. The only difference might be a little lag at the beginning in the case of MultiMesh as it requires a cycle in GDScript to position the instances.
@EeVeE3D5 күн бұрын
cool
@americoperez8107 күн бұрын
There's a video called "Just Boids | Useless Game dev" that covers boids really well in my opinion
@sanketsbrush87907 күн бұрын
just in the case if you don't know , Godot 4 can directly support blender files . You just have to enable option in editor settings.
@philipphaussmann7 күн бұрын
Thanks for the awesome tutorial. How would i go forward from here to ensure shadows are not affected by the cutoff? I want the room inside still to be dark and the shadow behind the house to be the shape of the full house.
@pixezy89627 күн бұрын
I answered a similar question hidding walls: Q: how to keep shadow when hiding the wall? A: maybe using: render_mode depth_prepass_alpha, alpha_to_coverage; and an opacity value (ALPHA) of 0.1 See, I don't know if u can do something like that because I was using discard in this shader, and the calculations just stop. But maybe u can duplicate the geometry, keep the shadows and disable shadows in the cutoff geometry.
@philipphaussmann6 күн бұрын
@@pixezy8962 Thanks, that worked like a charm! Now my only remaining issue is, that if a part of the player gets inside the wall, that part is still visible and breaks the immersion of a solid wall. Game is in third person view. Any tipps on that issue?
@chrismcpherson758217 күн бұрын
When I create a shaderinclude, it's blank?
@pixezy896217 күн бұрын
Yeah, u have to write some functions
@chrismcpherson758217 күн бұрын
@@pixezy8962 yeah I see it, the edit you did kinds confused me for a bit, made me think those were built into godot, thanks for the reply!
@chrismcpherson758221 күн бұрын
Dude thanks this looks amazing
@gatlockvolo724521 күн бұрын
How can you do it with an orthogonal camera? It only works for me with one address
@pixezy896221 күн бұрын
I'll have to try it. I've never used raycasting with an orthogonal camera.
@DigitalN8m4r322 күн бұрын
nice work there, may i ask about the shader license? since you are displaying it and showcasing its functionality. would be nice to know before using the shader in a commercial output.
@pixezy896222 күн бұрын
There is no problem with this particular shader. You can use it for whatever you want. The technique is general and used in Unreal Engine and Unity. Maybe my only contribution here is to "discover" that Godot can perfectly reproduce the technique and the effect. In the other version (Patreon) there are things of my authorship like the random pivots, which I can put under a very flexible license if you want.
@catafest23 күн бұрын
can you add body collision and simulation gravity with this pivot feature , for example: crash a wall in pieces from bullets using pivot?
@pixezy896223 күн бұрын
Maybe, but it wouldn't be worth it. A shader can't keep state, so it only reacts to external values (time, effector) as if it were a function. Then the physics of all the pieces would have to be calculated from outside (gdscript), which doesn't make sense.
@Games2Dev23 күн бұрын
Godot engine + good knowledge of Godot = very good result!
@AsatteGames24 күн бұрын
Knowing how to use shaders open so many possibilities with gamedev
@RootsterAnon24 күн бұрын
I wanna make a lemon that has cut off effect and I wanna see top face of the lemon but how do we do things like that?
@pixezy896224 күн бұрын
That's an example from Unity shaders bible It's the same techinique that I'm using here: kzbin.info/www/bejne/qGmxiItrrLyqd5I (Proyecting a plane with RayMarching over the gap of the geometry) The difference is that u have to use an equation to figure it out the size of the texture that represents the lemon cut. It's just the same texture but resized. I see that in the book the equation is something like this: (-abs(x))2 + (-abs(x) - 1)2 U may ask to chatgpt the proper equation (that represents the volume of the sphere) to resize the texture, and u can simulate the complexity of Raymarching with this example: kzbin.info/www/bejne/hZjZfYqhp8mcodk
@williamgodwin558229 күн бұрын
It's so simple, but I didn't figure it out! I tried using geonodes for this. It turns out well, but I baked everything into the texture and sometimes got artifacts. And this.... It's so simple that it's even brilliant!)
@LevelUpStudios-el2no29 күн бұрын
Awesome job, one important detail you did not explain. At min minute 6:20 ... you did not mention Dimensions and Effector settings, if not set properly the effect is not visible. Bottom Right of the screen (in the Inspector): Dimensions (suggested) 1.8, 1.7, 0.2 Effector (suggested) 0, 1, 0.5 This is really important in order to replicate the effect you created. Also, just in case reload the project.
@Numa36929 күн бұрын
You should blur the incoming velocity buffer so you get rid of those 1 px outlines it leaves! Great videos! keep it up!
@Numa36929 күн бұрын
Really good work! couldn't you have baked the pivot positions into vertex colors? because using both uv maps leaves you with a mesh that has no valid uv map for the fragment shader
@pixezy896229 күн бұрын
That is something I need to explore in the hex sphere tutorial, because I'll need 3 UV maps. I was testing before the CUSTOM0,1,2,3 channels of the spatial shader and it seems that I can store additional UVs in those channels.
@WeaselOnaStick24 күн бұрын
Baking pivot coords into vcols is unnecessary imo. Are you saying there's a limit on how many UV maps gltf/godot mesh can have?
@Genebriss23 күн бұрын
Do you only get 2 uvs in Godot?
@ryanscott64229 күн бұрын
Really interesting work. You might want to reduce the volume of the intro music, it is hard to hear you over the music.
@GuinnessDegaАй бұрын
i need this
@Yeet-eq7veАй бұрын
Bro, how you getting no views? This stuff is legendary👍
@user-ym7qj2iz5hАй бұрын
thanks
@AlgardraugАй бұрын
Very nice tutorial!!
@ZuapАй бұрын
Found your channel recently: great job love the content! Have been working with MultiMesh for grass on my projects, never gave particles a chance (always assumed it would be more complex or less performative), but love your results. Gave it a try on a demo project and worked like a charm moving from one project to other, the visual result is awesome and the FPS impact don't seem different than a MultiMesh, in fact is looks better than some I tested in the past. Great job, and great learning material. Auto placing/projecting on an irregular terrain is the next step to be perfect. With a MultiMesh it is easy, with Particles never explored, but worth a try. Great work (and great initiative to share), will keep following.
@amirosman8797Ай бұрын
"Hole in the Wall" it’s called glory hole my friend 👌
@wint3rxxxАй бұрын
hello, it seems there is no longer a viewport node and a viewport container in godot 4. How do i reproduce this in godot 4? THANKS
@pixezy8962Ай бұрын
Subviewport and subviewport container, those are the nodes if I remember correctly
@possiblyzslot838Ай бұрын
Looks great! I thought something like this would be more of a niche problem before searching for a solution, but I'm glad tutorials like this exist.
@4B3LN1T3R04DАй бұрын
I wonder if this compositior effects can be used for doing some draws on a custom buffer other than color, depth, motion, normal+rough and specular ones. And then, using this feature and the data on that custom buffer do some postpo stuff. Something like that could be awesome.
@user-jw2ol2gn5vАй бұрын
Is this plugin still being updated? Can 4.2 still be used?
@pixezy8962Ай бұрын
It's not a plugin, it was just a test. But I was not convinced by its performance. Looks like finally with the improvements of 4.3 regarding particles and compositor effects, I can finish it.
@user-jw2ol2gn5vАй бұрын
@@pixezy8962 oh, come on brother! I am looking forward to this powerful function!
@LurkinBurgerАй бұрын
The fkin GOAT 🐐
@PolygardenАй бұрын
Thank you very much! This is an absolutely wonderful tutorial! I wanted to take a look into the rendering device functionality, but it's quite complicated to do so. This provides a really good example. I did similar things with the viewport before. You can actually export images from the viewport. I wonder though, what the "official" way of doing things would be. It all still feels kinda hacky. I wonder if there are any bottlenecks somewhere, like bandwith.
@williamgodwin5582Ай бұрын
The most interesting part for me is if this texture from RD not sends from GPU to CPU and back. If so, now we have a great pipeline for computing a lot of stuff fully on GPU. But is it now workin like that? Is the buffer transfers back to the CPU or can it be used directly on the GPU?
@pixezy8962Ай бұрын
I don't know yet, I have to investigate further.
@FelinaFaerlaingalАй бұрын
Edit: aside from the below, very cool tutorial, it's going to be super helpful for me! I'm not sure which version of godot this was for, but I had a hard time making it work in 4.2.2 so here is the script I had after I finally got it to work (if it can serve anyone else) @tool extends MeshInstance3D @onready var mi_cutplane:MeshInstance3D = get_parent().get_node("cutaway") #I couldn't figure out how to directly find the node, even unique names wouldn't work # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): get_surface_override_material(0).set_shader_parameter("cutplane",mi_cutplane.transform) pass
@IA-Ovd2 ай бұрын
A tutorial about this shader would be awesome, I've been trying for 1 month to do just this but I'm very new to shaders and I'm not able to get it :(. You do an amazing job!
@madwork2 ай бұрын
how to keep shadow when hiding the wall?
@pixezy89622 ай бұрын
maybe using: render_mode depth_prepass_alpha, alpha_to_coverage; and an opacity value (ALPHA) of 0.1
@madwork2 ай бұрын
@@pixezy8962 thanks!
@PierogigonGames2 ай бұрын
The pixelating when things move makes me feel like I'm looking through the eyes of a robot pretty cool
@giiki_s22 ай бұрын
idk why but im my case to make it work needed to change the step(length(velocity)) to step(length(velocity.rgb))
@pixezy89622 ай бұрын
That's weird
@pixezy89622 ай бұрын
Oh, now i c that "velocity.rg" makes even more sense because is just a 2D vector. But what still doesn't make sense is that it works on my machine and not on yours. 😅
@giiki_s22 ай бұрын
@@pixezy8962 oh yeah, strange lol
@GustjcDev23 күн бұрын
Same thing here. length(velocity) just returns 0 and makes everything pixelated. I also only see it working correctly if the step is 0.001 here when using length(velocity.rgb). Some info: I'm using 4.3.beta2.mono I wonder if this is a Godot/mono thing or if is a driver thing? Last time I updated my graphics driver was almost 2 years ago. This kind of inconsistency is scary, would be nice if we could figure out the reason.
@giiki_s22 ай бұрын
yay finally some content about it!
@mertkasar2 ай бұрын
Wait, am I looking at a possible per-object motion blur implementation? That's huge.
@penguino1182 ай бұрын
Will this make it into the release? Or is it planned for later?
@pixezy89622 ай бұрын
It's for this version, most likely. It is almost finished.
@soonheng15772 ай бұрын
thanks. Please make more videos on the compute shader and godot.
@phant0mlink2 ай бұрын
Nice tutorial...
@MikeMcRoberts2 ай бұрын
What happens if an object, like a boat, moves along in this water?
@pixezy89622 ай бұрын
Well, the boat will not create its own waves. It will receive the waves from the shader, no matter if it moves or not.
@nue_hazel2 ай бұрын
how to import this project to other project ? i really want try this grass in my project.
@pixezy89622 ай бұрын
I don't know, this is not a plugin, so I think u have to copy the files manually.
@alexmorgan38172 ай бұрын
Crockodile Swampy game?
@pixezy89622 ай бұрын
It's just a demo, but it could be like that.
@roodtoob2 ай бұрын
Oh nice, this sort of ties in with what I've been working on lately. I've been playing around with splat maps recently to make the garden from Viva Pinata. So far it's only changing the diffuse texture according to the RGB and black values. Next upgrade will be to get some short and tall grass shaders worked in there.
@_Garm_2 ай бұрын
cool thank you ! :D
@WeirdWimp3 ай бұрын
it doesnt allow me to type, could you help?
@pixezy89623 ай бұрын
"type"? I don't understand
@WeirdWimp3 ай бұрын
@@pixezy8962 it doesn't allow me to script the shader is what I meant, at around 0:30