I went to go see if it would work in godot 4 but it's not working quite right. Do you know what I'd need to charge to get it back up and running?
@lonegamedev Жыл бұрын
Hi, I made small changes to make it run with Godot4. Try godot4 branch from repo: github.com/lonegamedev/godot_botw_grass/tree/godot4
@suchsneak3545 Жыл бұрын
@@lonegamedev thanks a bunch! ☺️
@sugimanjuara8195 Жыл бұрын
@@lonegamedev thanks for share ! i try it and seems run well, however i try to export to android device but the grass it not showed, any advice ?
@BetaTester704 Жыл бұрын
@@lonegamedev I want to hug you for that
@Gdquest4 жыл бұрын
Subscribed! Looking really interesting, thanks for sharing.
@lonegamedev4 жыл бұрын
Thank you so much for your work, it really helped me transition into Godot! Also, I just realized I haven't subscribed to most channels I love with this account. I will be correcting this, of course starting with your channel :)
@robertmouse37824 жыл бұрын
I've been looking for a good grass tutorial for a while now. This is the best I've found by far and you've done a phenomenal job. Thank you for your contribution to the community.
@NeZversSounds4 жыл бұрын
Oh, this is amazing! I wanted to know how to do this for some time.
@lonegamedev4 жыл бұрын
I'm really happy you found this helpful!
@artyomadev952 жыл бұрын
Hi! Big THX for your lesson! I implement it in my project and it looks stunning. Wish you good luck in your youtube channel.
@armonj22964 жыл бұрын
You are a saint
@BluePhoenixGames14 жыл бұрын
this is great, thanks for sharing! looking forward to see more from you
@sigitsatriap65054 жыл бұрын
beautiful ! love it , subscribed
@Lermer073 жыл бұрын
Dude this is awesome. Subbed!
@NutyRiver4 жыл бұрын
Incredible. Thank you sooooo much
@tyreldelaney3 жыл бұрын
Great tutorial! May try to adapt this to 2D for my project. Would love to see more tutorials from you
@jhonnyjoestar12204 жыл бұрын
Great bro!
@zetathix4 жыл бұрын
This is a knowhow I'm looking for, thanks for sharing!
@fananimation7147 Жыл бұрын
Have problem with multimesh.set_instance_transform(index, Transform(basis,pos)) I get error parsing expression misplaced built-in type. Please help new to coding.
@nov_flp4 жыл бұрын
That's exactly what I was looking for 😀
@eloibasiloi9129 Жыл бұрын
hey i tried to copy what you did (im using godot 4) and everything works perfectly fine until that planter script attached for the grass nodes. apparently the export var is unable to be identified, could you help for a fix ?
@lonegamedev Жыл бұрын
Hey, I just tested and it still works. Please use this branch: github.com/lonegamedev/godot_botw_grass/tree/godot4 I guess I will merge with main branch, so there is no more confusion.
@shikamarubh3 жыл бұрын
Thanks. Looking forward for a terrain version.
@EmotionalCapybara4 жыл бұрын
This is awesome
@atikahrostam57783 жыл бұрын
thank you so much for this! 💖
@shire79494 жыл бұрын
Can u help me please by maybe giving me an idea Can u use some type of noise function to only spawn the grass at certain 'patches'?
@shire79494 жыл бұрын
How would u go about that ?
@kuzuru3 жыл бұрын
Can I somehow make hills (terrain) from this CSBox and place grass on it?
@SoftBreadSoft3 жыл бұрын
not as it is, it doesn't do anything with the csgbox. I was attempting earlier to convert it into a 'normal' shader (that works on any multimesh not just with specific UV etc), which could then be placed procedurally like with Scatter, but wasn't having fun. I'm not big brain enough :)
@kuzuru3 жыл бұрын
@@SoftBreadSoft meh... I wanna make smth like not plain terrain... And also I wanna make grass generation on some specific places on this terrain. I'm also not big brain in Godot, so I have troubles with it :D
@milkboyG3 жыл бұрын
Hey thanks for the amazing tutorial. Is there any way to use this shader on a mesh made in for example blender instead of making it with the script? Been trying out to use this with scatter, but so far only got the mesh pointing in one direction and not having the gradient, but only the bottom color showing up. Any ideas what might not be working in this case?
@lachlanburns43823 жыл бұрын
Very nice!
@shire79494 жыл бұрын
damn so useful, thanks
@TheMoye3 жыл бұрын
This video is really interesting! The effect is amazing. 👍 I have one issue though : if I apply this shader to an object that is moving, the grass looks frozen on the screen, as if it is not following the movement of its parent. Wouldn't that come from the use of world coordinates rather than object coordinates? Any idea how to fix this ?
@cidneyowen4067 Жыл бұрын
I have a question. When I put my script in the MultimeshInstance nothing is showing up. I was wondering if you have any idea why?
@lonegamedev Жыл бұрын
I'm assuming you are working with v1 version for this video. Which script did you attach? It should be `planter.gd` (or your custom equivalent). Also, you might be missing a MultimeshInstance property: GeometryInstance -> Geometry -> MaterialOverride (probably this).
3 жыл бұрын
hi! awesome tutorial, thanks a lot. is there a way to make the multimesh instancer only instance grass in a radius around an object, say, the player, instead of the whole mesh? that way i could use this on a large terrain without bogging down performance.
@lonegamedev3 жыл бұрын
Thanks, happy to help. It would be a bit more tricky (since this is the simple tutorial - not a real solution) but possible. You could overlay your game world with an AABB grid (I mean in computation sense, not in sense of creating scene nodes). Think "snap to grid" algorithm. Each grid cell would have exactly the same size, unique seed for RNG, and perhaps a varied number of blades of grass to generate. You could compute which cells are around the player (this is pretty simple math - it might even be part of Godot's math), and plant grass for just those cells using appropriate seed (so if you revisit the same cell it would look exactly the same). So you could have a finite number of instancers (planters), and just move them and re-plant for each grid cell, as you move through the world. Also, it is a pity Godot 3 doesn't support Compute Shaders or Geometry Shaders - cause you could write planter script as shader code, which would be a ton more efficient. Oh well, we need to wait for Godot 4 for that. I know this might be a bit vague but I hope it gives you a general idea.
3 жыл бұрын
@@lonegamedev thank you!! your answer was way more detailed than i expected :) i'll investigate this solution. i also found a solution with shaders in godot 3, but it needs a heightmap to work. it shouldn't be too hard extracting a heightmap from my modeled terrain mesh in blender, though. thanks a lot for your time!!
@am010133 жыл бұрын
@ How did it go? What was the best solution?
@1533U4 жыл бұрын
awesome
@jitspoe3 жыл бұрын
Is that noise function faster than a texture lookup?
@D0vahkiinGames3 жыл бұрын
Hello buddy, is there any way to make the grass fit in a terrain? THANKS FOR THE VIDEO!!
@lonegamedev3 жыл бұрын
Sure, it is possible to make it match the terrain. One method I have in mind requires using terrain mesh geometry directly. It goes something like this: 1. For each triangle, you can compute the area. 2. The area will be used against some threshold (arbitrary number) to determine if we can plant a blade of grass in this triangle. 3. If so - compute triangle centroid, and the face normal, and add grass instance using position (from centroid) and rotation (from normal). Then subdivide the triangle (this doesn't mean create new geometry just store it in some temp structure for calculations). 5. Repeat until no more subdivisions possible. This will make blades of grass follow the curvature of the terrain, and on top of that planting will be more even and easier to control with a single threshold value. This value can be also set/modified by a value encoded in vertex color or texture (variable grass density). I won't promise I will make such follow up video, but perhaps.
@D0vahkiinGames3 жыл бұрын
@@lonegamedev Hm, I'm not very good at shaders yet, is there any way I can do it using the "populate surface" option on the grass node?
@D0vahkiinGames3 жыл бұрын
@@lonegamedev Where did you learn how to do all that? xD I haven't found any tutorial of this graphic quality before.
@MrHaloisthebomb3 жыл бұрын
that is fucking beautiful
@Lucas-gg9yb3 жыл бұрын
how can i mark where i want grass and where i not?
@lonegamedev3 жыл бұрын
This will be one of the focus points of part 3. Until then, you can watch part 2, because it is about mesh driven generation. Then it is just matter of either sampling value from vertices or texture. Another way would be to limit based on surface angle, which is useful for very steep surfaces.
@Equilix_Doom Жыл бұрын
Don't suppose you ever got around to that part 3 at all? Or any ideas on how to remove/dampen grass around certain areas?@@lonegamedev
@davidmurphy5634 жыл бұрын
Huh, you put ints and not floats into your vec3 for the test ALBEDO and it didn't throw an error. Mine bites my head off every time I put 1 instead of 1.0 and I still do it every time!
@nataliapiecea23023 жыл бұрын
Thank you , I want to make grass for my game for some time
@leogil59333 жыл бұрын
Sure Beuatiful
@ironbard49018 ай бұрын
Any chance of you reworking this tutorial for godot 4?
@lonegamedev8 ай бұрын
Hi, yes it is planned, but I still haven't got back to recording videos. If you are just interested in working version you can grab it from: github.com/lonegamedev/godot_botw_grass Proper Godot 4 version should take advantage of compute shaders - I have played around with it, but this is still not fully ready.
@Hemoplaguer4 жыл бұрын
What's the rules for using this in our own projects?
@lonegamedev4 жыл бұрын
It is an MIT license. You can use it commercially in your projects.
@supermomofficial15564 жыл бұрын
Wow.. I like the intro more on diamond shape. It give me an idea how to make my intro also a very interesting one. Remz mixtv
@chuutculao22664 жыл бұрын
thanks nhé
@gyanaprakash_maharana3 жыл бұрын
How to use it in unity. Pls make a video. Pls.
@tonyfan8413 жыл бұрын
This is awesome, thank you! But this doesn't scale well in Godot. Gdscript is very slow to create grass instances. I have a test scene with a 40Mx40M grid, 1.2 million blades of grass doesn't even cover this area well. And it's extremely slow at loading. Performance leaves something to be desired, too.
@NocturnalMorning3 жыл бұрын
Kind of late to reply, but if you haven't already looked at it. There's a godot demo for threaded grass that fixes a lot of the performance issues with this. Coincidentally, the code looks a lot like this tutorial, so I think that's where the tutorial got the material from. The tutorial has better noise though, so I would definitely use the noise from this. At least that's my opinion.
@Dura_kson4 жыл бұрын
Yo wtf xD it didn't work, godot still has problems with the setter function 😭 you said just ignore it but I guess it shouldn't be ignored tho xD
@Dura_kson4 жыл бұрын
Error(11,1): The setter function isn't defined... 😖
@titman46454 жыл бұрын
@@Dura_kson try to rewrite the func set_ , the set_width didn't worked for me and i just remove it and write it again and it worked