BotW STYLE GRASS TUTORIAL

  Рет қаралды 36,099

lonegamedev

lonegamedev

Күн бұрын

Пікірлер: 71
@suchsneak3545
@suchsneak3545 Жыл бұрын
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
@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
@suchsneak3545 Жыл бұрын
@@lonegamedev thanks a bunch! ☺️
@sugimanjuara8195
@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
@BetaTester704 Жыл бұрын
​@@lonegamedev I want to hug you for that
@Gdquest
@Gdquest 4 жыл бұрын
Subscribed! Looking really interesting, thanks for sharing.
@lonegamedev
@lonegamedev 4 жыл бұрын
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 :)
@robertmouse3782
@robertmouse3782 4 жыл бұрын
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.
@NeZversSounds
@NeZversSounds 4 жыл бұрын
Oh, this is amazing! I wanted to know how to do this for some time.
@lonegamedev
@lonegamedev 4 жыл бұрын
I'm really happy you found this helpful!
@artyomadev95
@artyomadev95 2 жыл бұрын
Hi! Big THX for your lesson! I implement it in my project and it looks stunning. Wish you good luck in your youtube channel.
@armonj2296
@armonj2296 4 жыл бұрын
You are a saint
@BluePhoenixGames1
@BluePhoenixGames1 4 жыл бұрын
this is great, thanks for sharing! looking forward to see more from you
@sigitsatriap6505
@sigitsatriap6505 4 жыл бұрын
beautiful ! love it , subscribed
@Lermer07
@Lermer07 3 жыл бұрын
Dude this is awesome. Subbed!
@NutyRiver
@NutyRiver 4 жыл бұрын
Incredible. Thank you sooooo much
@tyreldelaney
@tyreldelaney 3 жыл бұрын
Great tutorial! May try to adapt this to 2D for my project. Would love to see more tutorials from you
@jhonnyjoestar1220
@jhonnyjoestar1220 4 жыл бұрын
Great bro!
@zetathix
@zetathix 4 жыл бұрын
This is a knowhow I'm looking for, thanks for sharing!
@fananimation7147
@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_flp
@nov_flp 4 жыл бұрын
That's exactly what I was looking for 😀
@eloibasiloi9129
@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
@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.
@shikamarubh
@shikamarubh 3 жыл бұрын
Thanks. Looking forward for a terrain version.
@EmotionalCapybara
@EmotionalCapybara 4 жыл бұрын
This is awesome
@atikahrostam5778
@atikahrostam5778 3 жыл бұрын
thank you so much for this! 💖
@shire7949
@shire7949 4 жыл бұрын
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'?
@shire7949
@shire7949 4 жыл бұрын
How would u go about that ?
@kuzuru
@kuzuru 3 жыл бұрын
Can I somehow make hills (terrain) from this CSBox and place grass on it?
@SoftBreadSoft
@SoftBreadSoft 3 жыл бұрын
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 :)
@kuzuru
@kuzuru 3 жыл бұрын
@@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
@milkboyG
@milkboyG 3 жыл бұрын
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?
@lachlanburns4382
@lachlanburns4382 3 жыл бұрын
Very nice!
@shire7949
@shire7949 4 жыл бұрын
damn so useful, thanks
@TheMoye
@TheMoye 3 жыл бұрын
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
@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
@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.
@lonegamedev
@lonegamedev 3 жыл бұрын
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!!
@am01013
@am01013 3 жыл бұрын
@ How did it go? What was the best solution?
@1533U
@1533U 4 жыл бұрын
awesome
@jitspoe
@jitspoe 3 жыл бұрын
Is that noise function faster than a texture lookup?
@D0vahkiinGames
@D0vahkiinGames 3 жыл бұрын
Hello buddy, is there any way to make the grass fit in a terrain? THANKS FOR THE VIDEO!!
@lonegamedev
@lonegamedev 3 жыл бұрын
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.
@D0vahkiinGames
@D0vahkiinGames 3 жыл бұрын
@@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?
@D0vahkiinGames
@D0vahkiinGames 3 жыл бұрын
@@lonegamedev Where did you learn how to do all that? xD I haven't found any tutorial of this graphic quality before.
@MrHaloisthebomb
@MrHaloisthebomb 3 жыл бұрын
that is fucking beautiful
@Lucas-gg9yb
@Lucas-gg9yb 3 жыл бұрын
how can i mark where i want grass and where i not?
@lonegamedev
@lonegamedev 3 жыл бұрын
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
@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
@davidmurphy563
@davidmurphy563 4 жыл бұрын
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!
@nataliapiecea2302
@nataliapiecea2302 3 жыл бұрын
Thank you , I want to make grass for my game for some time
@leogil5933
@leogil5933 3 жыл бұрын
Sure Beuatiful
@ironbard4901
@ironbard4901 8 ай бұрын
Any chance of you reworking this tutorial for godot 4?
@lonegamedev
@lonegamedev 8 ай бұрын
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.
@Hemoplaguer
@Hemoplaguer 4 жыл бұрын
What's the rules for using this in our own projects?
@lonegamedev
@lonegamedev 4 жыл бұрын
It is an MIT license. You can use it commercially in your projects.
@supermomofficial1556
@supermomofficial1556 4 жыл бұрын
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
@chuutculao2266
@chuutculao2266 4 жыл бұрын
thanks nhé
@gyanaprakash_maharana
@gyanaprakash_maharana 3 жыл бұрын
How to use it in unity. Pls make a video. Pls.
@tonyfan841
@tonyfan841 3 жыл бұрын
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.
@NocturnalMorning
@NocturnalMorning 3 жыл бұрын
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_kson
@Dura_kson 4 жыл бұрын
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_kson
@Dura_kson 4 жыл бұрын
Error(11,1): The setter function isn't defined... 😖
@titman4645
@titman4645 4 жыл бұрын
​@@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
@eeeeeeeeeeeeee49
@eeeeeeeeeeeeee49 2 жыл бұрын
WHAT
@egartwin4246
@egartwin4246 4 жыл бұрын
ninja ni khela egar
@michalfeher1177
@michalfeher1177 Жыл бұрын
I no understand this shader because math.
BotW STYLE GRASS TUTORIAL Part 2
32:26
lonegamedev
Рет қаралды 7 М.
Mirrors, Every Way You Can Make Them In A Video Game
8:14
Code It All
Рет қаралды 69 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
The Latest Celebrity Tech Scam…
19:21
Linus Tech Tips
Рет қаралды 1,1 МЛН
What I Did To Optimize My Game's Grass
8:13
Acerola
Рет қаралды 140 М.
Simple Interactive Grass in Godot
13:17
Kasper Frandsen
Рет қаралды 37 М.
An introduction to Shader Art Coding
22:40
kishimisu
Рет қаралды 1 МЛН
Why Zelda BOTW grass system is the greatest
24:39
Epic Dragonfly
Рет қаралды 20 М.
Why Fantasy is Obsessed with Swords
17:49
Tale Foundry
Рет қаралды 321 М.
How do Major Video Games Render Grass?
9:33
SimonDev
Рет қаралды 423 М.
Scatter -- A Must Have Tool For Godot Level Editors!
10:24
Gamefromscratch
Рет қаралды 47 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН