No video

Fixing Bad Grass Shadows in UE4! (READ DESCRIPTION FIRST)

  Рет қаралды 46,682

PrismaticaDev

PrismaticaDev

Күн бұрын

You CAN SKIP the part in 3:33 - 6:46 where we Duplicate the Mesh and simply put this in your Grass Material first (YOU STILL NEED TO MAKE UPWARDS NORMALS) - imgur.com/a/2LEZdEL
You can also skip when I mention creating Duplicate Faces in Blender from 9:33 - 11:38, basically just ranting about how the backfaces of Normals are always the OPPOSITE of the front face.
There are Chapters in the Progress Bar you can use as a guide :)
00:00 Intro
03:33 You CAN SKIP (READ DESCRIPTION!)
06:46 Fixing Diagonal Grass
09:33 More Stuff you CAN Skip!
11:38 Wrap up and shameless Discord Plug
HUGE thanks to Divivor for showing me the magic of TransformVector - this saves a lot of vertices! (I'm not entirely sure on how Unreal renders double-sided materials... Either way, it saves the extra set-up time!)
Today we're fixing bad Grass Shadows in UE4! This became a real issue for me since I use a global cel-shader (which you can build yourself here: • Advanced Cel-Shader in... )
A common solution I see online is to set your Material to Non-Tangent-Space and feed a (0,0,1) vector into the Normal channel but you'll soon find that this is only a Band-Aid solution. It only looks pleasant in very specific circumstances and falls apart completely when dealing with slopes/natural landscapes.
By making your grass blend perfectly with your landscape you can lower the overall density of the grass, saving performance!
Discord: / discord
KZfaq: / prismaticadev
Twitch: / prismaticadev
Patreon: / prismaticadev
Twitter: / prismaticadev
----------------------------------------
Computer Specs:
Ryzen 3900x 12-core CPU
MSI Geforce RTX 2080 Super
64GB Corsair RAM
One of those fancy nvme m.2 SSD's
Programs of choice:
Unreal Engine 4 - (Game Dev)
Blender 2.8 - (Animation and Modelling)
OBS - (Video/screen capture)
Davinci Resolve - (Video editing)
Adobe Photoshop - (Graphics and Texturing)
Quixel Mixer - (Texturing)
ProTools 11 - (Compositions and mixing)
OldSchool Runescape - (Chillax time)
Filmed using:
Sony A7s2 body
Sony 24-70mm f/2.8 GM lens
Yonguo YN360 LED's for colour
Yongnuo YN760 chip LED w/ Godox softbox for key
My lovely cats names are Boycat, Girlcat and Ladycat :)

Пікірлер: 144
@CAlbeluhn
@CAlbeluhn 2 жыл бұрын
Very handy tip on the grass shader, Thank you!! Let me return a bit of the knowledge that you might find useful. A trick you can do for the normals. Instead of duplicating the geometry and flipping the normals, you CAN have the shader use double sided mesh. The normals that get flip are local, so the gross orange you see is basically the normal map without the blue channel. What you can do in the material editor is this. Take a "twosidedsign" and plug it into the alpha of the lerp. Plug your regular normalmap into B, but multiply it by 1,1,-1 before plugging it into A. What this does is it flips the blue channel on the back side of the geometry, so you can create the grass with half the poly count. :)
@Xaeveax
@Xaeveax 3 жыл бұрын
I really like it that you explain the reasoning behind every decision. It turns it from a tutorial on grass into an encyclopedia of tips that can be applied elsewhere as well.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Cheers Alex :) I always find tutorials just just explain the "what" and "how" but never go into depth on the "why" which sort of defeats the entire purpose of learning material. Without explaining the "why", all I'd be doing is teaching people how to follow tutorials haha. Thanks a tonne for the Patreon sub :)
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Hey y'all! I've made an amendment to this process in the description - apologies for the extra steps, thankfully there's an easier solution!
@Fokkusu
@Fokkusu 3 жыл бұрын
nice, even better :D, thanks for making it easier
@hippowombat
@hippowombat 3 жыл бұрын
Very nice tutorial! I've been transforming normals from world to tangent (the same as 0,0,1 and disabling tangent space normals in the mat) for as long as I can remember, this is a much more versatile and accurate approach to proper foliage normals! Great work!
@pcuser100977
@pcuser100977 2 жыл бұрын
I've been getting back into game development after a long hiatus due to financial strain. Finding your channel at this particular time has been an absolute godsend, as its allowed me to bridge my previous experience with stylized graphics in Unreal smoothly and confidently; I was literally looking for THIS very solution online and having no luck finding relevant articles on accurate (up-facing) Normal editing (a trick I used to do apply in Maya), and lo and behold you have another professional-quality video on the topic. Thank you so much for providing the fun and knowledgeable content you make and helping me get back to doing what I love. You'll be the first person I'll recommend to my friends and colleagues the next time they have questions about in-engine work in Unreal, and I'll no doubt be giving you a special shout-out once my current project is published. Thanks again!
@cloudwolf3972
@cloudwolf3972 3 жыл бұрын
Dude you are a angel on earth. Its crazy how much effort you put to teach people whilst you are learning, developing your own first game and editing a dev log. Huge inspiration.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Cheers Cloudwolf :) Very very kind words! As a relative beginner myself I know how frustrating it is to run in to issues and not be able to find a solution so I'm always more than happy to share my experiences
@unrealdevop
@unrealdevop 3 жыл бұрын
Your a genius, thanks for this. I've been wondering why my grass looked so trashy. I literally scoured the internet trying to figure out why my grass was also flickering solid black randomly in places and couldn't find any examples whatsoever why it might be doing this until I just watched your video. You have answered so many questions that have been bothering me.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Glad it helped!! It can really suck when you've got an issue and don't even know what to search to try and solve it haha. If you ever have any other issues like that, feel free to ask for help in the Discord server :)
@unrealdevop
@unrealdevop 3 жыл бұрын
@@PrismaticaDev Thanks
@alfredspitia8409
@alfredspitia8409 2 ай бұрын
ohhh spectacular, I changed the normal ones as you indicated to test, and my grass looked good, but with your technique it looks amazing, thank you very much!!
@westner8524
@westner8524 Жыл бұрын
We don't deserv you man! You have a tutorial for everything and you explain everything so well for us beginners! So thank you for everything you're doing!!
@Ghostskappa
@Ghostskappa Жыл бұрын
Thank you so much man! been having this issue for months, never could find a fix for it
@kuro2ck
@kuro2ck 3 жыл бұрын
Another excellent video, you should way more subscribers. Keep going with these tuts and they will come!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Thank you very much! :) Don't forget to share with a friend
@3DWithLairdWT
@3DWithLairdWT 3 жыл бұрын
This was super cool! Great to see scalable solutions in tutorials. Way too many of them are hack-y narrow use cases.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Cheers mate :) Since I'm using 100% of these methods in my own game, I always do my best to make sure it's scalable and performant (or at least warn everyone that it's costly etc)
@ethanwasme4307
@ethanwasme4307 3 ай бұрын
bro casually dropped the worlds greatest transition in the first 10 seconds and acted like we wouldn't notice
@chickenfryedgames4405
@chickenfryedgames4405 3 жыл бұрын
I love the Runescape music behind your voice! Its perfect.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Haha it's my go-to playlist for when I'm working
@Fokkusu
@Fokkusu 3 жыл бұрын
Awesome, I was using the cursed 0,0,1 normals on my grass, now they look nice at any angle :D, ty ♥
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Fantastic! Glad to hear it :)
@bbcat-3972
@bbcat-3972 2 жыл бұрын
This is a great simple method of achieving this style. I've fought with this in the past and ultimately ended up strong arming it using a cross product between the camera vector and the normal to flip the backward normals on the GPU. Not a great method and I wasn't very happy with it but I'm not much of a modeler and this method didn't occur to me. Thanks for this!
@saywan_9232
@saywan_9232 2 жыл бұрын
You are really great with explaining things❤️
@ghislainfontainebujold7834
@ghislainfontainebujold7834 Жыл бұрын
You have become a voice in my head. Congrats 👏
@TorQueMoD
@TorQueMoD Жыл бұрын
A double sided material is actually telling the engine to generate faces on the other side, so it's literally no more expensive, it's just a faster way of getting the same result. Basically it's lazy. Using an RVT would be much more expensive than simply using a 2-sided mesh. I've actually found that poly modeling your grass is way more performant than using alpha materials as well because of the overdraw inherent with alpha materials. Even if you cut the mesh to reduce the overdraw, it's still more performant to actually fully model the grass. Especially with the clustering that you get with the foliage system. I even use foliage for background building placement in cities because the clusters are so helpful. I honestly wish you could use the foliage system on animated meshes for fur.
@schrottiyhd6776
@schrottiyhd6776 2 жыл бұрын
There is actually an Node Workaround for this: 3 Vector(with 1 Blue, 0 Red, 0 Green) plugged into Transform(World Space -> Local Space) into another Transform(Localspace -> Tangent Space) Into an VertexInterpolator(Because it's for InstancedMeshes) Multiplied by an TwoSidedSign The magic is that you Transform it to Local fist before to Tangent, and now the orientation is included in the Tangent normal, the VertexInterpolator is because it is InstancedGrass, and the TwoSidedSign makes sure that the normals are the same on each side (so u dont need to have duplicated vertecies on your Grass)
@PrismaticaDev
@PrismaticaDev 2 жыл бұрын
Eyyy that's pretty smart! I already made an amendment in the description about using Transform or TwoSidedSign to fix the back-facing faces of a Two-sided material, but this method circumvents the need to even author the normals in the first place. Nice stuff!
@schrottiyhd6776
@schrottiyhd6776 2 жыл бұрын
@@PrismaticaDev may make a video about it
@TheLegendOfTerry
@TheLegendOfTerry 2 жыл бұрын
This tip is fire! Also, the doubled up mesh method gave me really whacky shadowing and had trouble with draw culling.
@schrottiyhd6776
@schrottiyhd6776 2 жыл бұрын
@@TheLegendOfTerry I actually made this method even better quality wise : you can blend a Grass normalmap with it to get pbr workflow back, kinda hard to explain In a few words
@NimaiHodgson
@NimaiHodgson 3 жыл бұрын
Ugh you saved my life. Love you xoxo
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Any time at all! :) If you need any help, don't forget to be in our Discord for some 1-on-1 assistance
@nicolascorrea4776
@nicolascorrea4776 2 жыл бұрын
invaluable help! thank you!
@steliosstavropoulos499
@steliosstavropoulos499 2 жыл бұрын
Hey I just wanted to ask what did you multiply in the make float3 where you stretch your downscaled grass. The second pin is a parameter. The first one? Thanks in advance!!!
@dmitryshibanov9761
@dmitryshibanov9761 3 жыл бұрын
Nice! I think it also can work well with twosided shader, and normals multiplied by twosided sign node
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
I did think about twosided sign and inverting one side of it! Many solutions to the same problem - it would be interesting to see a performance comparison between all solutions haha
@Djmixtacy
@Djmixtacy 3 жыл бұрын
I tried testing the double sided shader VS double sided geometry a few weeks ago to see what was more performant. I used a plane with millions of polygons. The double sided shader was noticeably more performant. But with grass I don't think it matters too much because it gets indtanced. You are far more knowledgeable than me tho. Love your content mate.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
That's great to hear - I haven't actually run the numbers myself with instancing with double sided mesh VS double sided material - I think the overall performance wouldn't change but the memory usage would be better with a 2-sided Material
@charlespowlett5334
@charlespowlett5334 3 жыл бұрын
One Weird Trick! Doctors hate him!
@stormolflak
@stormolflak Жыл бұрын
Thanks for the video!
@rennyandboston
@rennyandboston 3 жыл бұрын
Awesome!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
You’re awesome :)
@mattwright880
@mattwright880 2 жыл бұрын
Wanted to add - if you want to get a wee bit of material response on your grass, instead of it just being flat - you might notice that with the normals all vertical, the grass will have a gloss response like a flat table or ground surface. You can fix this by modifying the normals of the grass VERY VERY slightly so they no longer completely point upwards. The easiest way to do this is to create a flat plane under the patch of the grass (in your 3d app of choice, mine is Maya.. don't hate :P ), subdivide that plane, and then sculpt the plane a little bit so it is no longer flat. Then project the vertex normals from that plane, onto the grass. I found this gave better looking results than just manually modifying the vertex normals of the grass. In Maya there is a "transfer attributes" tool which works wonders for this. Not sure in Blender.
@AdrianDrott
@AdrianDrott 3 жыл бұрын
I only skimmed through the video. But at 9:42 try activating double sided material and multiply your normals with a TwoSidedSign node at the end rather than duplicating your mesh and see if that helps. I struggled with this issue for a long time but it's what solved most of my foliage rendering issues when trying to use two sided materials. Duplicating the mesh is quite an old-school solution, and an extra RVT does sound like a crazy solution but I like your thinking haha. Like I said, I didn't watch through the whole video so maybe I missed the reason as to why you had to duplicate the mesh. But using a vector 3 with value 0.0.1 and multiplying it with a TwoSidedSign should normally do the trick. But yeah, don't deactivate the tangent space and you still want your normals pointing upwards for grass like you explained here.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Heya Adrian! Your solution is something that I only found after posting this video haha. The solution I ended up going with was to plug a 0,0,1 vector in to a Transform Local to Worldspace node and then in to the Normal slot - basically the same thing if I'm not mistaken as it works with a single-sided mesh haha. I made an amendment in the description of the video but the custom normals are still essential :)
@AdrianDrott
@AdrianDrott 3 жыл бұрын
@@PrismaticaDev Oh sorry I missed that! Either way, I learned some nice things here so thanks for that. I haven't tried the transform local to world space solution but will check that out. Thanks for sharing your knowledge with the world anyway. :D
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
@@AdrianDrott No worries at all! I always appreciate the feedback :) Hope to see you around!
@liamrealest
@liamrealest 3 жыл бұрын
beautiful!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
You are
@meistervoss4735
@meistervoss4735 2 жыл бұрын
You just saved my Final Exam Submission!!!
@dest8065
@dest8065 3 жыл бұрын
Honestly I really love these videos, I usually don't comment on videos but I'm here just to say that I've been here since 1.30k subs. And I'm hoping you'll grow a lot more. You deserve it!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Cheers DesT, I really really appreciate that! I'd love to grow the channel as much as I can to help other beginner devs like myself haha. Hope to see you around :)
@gbrayner
@gbrayner 2 жыл бұрын
this was great! Thanks
@PrismaticaDev
@PrismaticaDev 2 жыл бұрын
No worries! Glad you found it useful :)
@RobCardIV
@RobCardIV 3 жыл бұрын
this shit took me 6 months to figure out by myself. AT LEAST X_x thanks for the confirmation. thats what i thought it may have been.
@AlexGoodwinGames
@AlexGoodwinGames 3 жыл бұрын
Thank you very much!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
No worries at all Alex :) Hope it helped!
@Ryousa02
@Ryousa02 3 жыл бұрын
Hey, Pretty cool video! thanks! I've been working with stylized grass the past few days, and got pretty nice results using both transparent images or modeled grass with double face from blender, would you recomend it better to have the modeled grass instead of the transparent one? for some reason, using the modeled one made my fps drop by a lot and with "fewer" amount of grass than the opacity masked ones even using insane amounts of those, am I doing something wrong with the modeled ones? Thanks for any information! :D
@bennyweimer2345
@bennyweimer2345 3 жыл бұрын
I did the using the virtual texture normal thing and it does work. Idk if its more performant thoe. Interestingly applying it and then removing it from my material made using the upward facing normals work because they didn't make a different when I first applied them. Although now that i'm writing this I went to test the virtual texture to see if it performed better and the performance seems to be the same, but I can't get it to work without artifacts so it may not have worked and just randomly fixed whatever the other problem was. *shrug* As a side note you doing fantastic work, almost every one of your videos have been extremely useful. Thanks.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Hey Benny! Good to know that the method works haha although, sampling from an RVT can be a bit costly. But, if you're doing it anyway (which most of us are for our grass colour) then it doesn't add any overhead. Best of luck in your projects!!
@BernardoReisSouza
@BernardoReisSouza 3 жыл бұрын
Excellent video! I really appretiate your tutorials! I've followed the steps here and the results were pretty good (specially when combined with the cel shading post process - which I also learned about from your videos). Quick question: Although the lighting now looks a lot better, I'm trying to get this aspect of a really dense packed grass but mine still looks a bit sparse. Any advices on how to achieve a look like what you have in your video?
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Hey Bernardo! Great question - I think the trick is to make the grass blend in with the landscape as much as possible, but then make the tips of the grass a tiny bit lighter (you could use Vertex Colour to lighten the tips if you're already using it for Wind) That way you get the benefits of subtle silhouettes AND grass blending with the landscape well. Makes for some really cool grass :) My grass density is around 200-400 from memory
@BernardoReisSouza
@BernardoReisSouza 3 жыл бұрын
@@PrismaticaDev Thanks! I will try that!
@YourSandbox
@YourSandbox 3 жыл бұрын
yeah-h-h, d-u-u-d-e, that was awesome!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
You're awesome ;)
@nayaleezy
@nayaleezy Жыл бұрын
you're a giant ♥️
@riuthamus
@riuthamus 2 жыл бұрын
For those of you who use Maya, this is as simple as clicking Set Vertex Normal and setting Z to 1 and X and Y to 0.
@virtua7390
@virtua7390 10 ай бұрын
Tysm, I was wondering why my grass looked extremely ugly. The grass had ugly dark grass, ruin the beautiful green grass which I was trying to get.
@hristozafirov7110
@hristozafirov7110 Жыл бұрын
I wonder, what about Two Sided Sign node? I've been doing that to some meshes with weird lightmaps where on static lighting built I have one side of the mesh almost black and the other side is lit properly. And the Two Sided Sign node fixes that issue perfectly. I just multiple the node with my normal map before putting it in the Normal output.
@DuckTheFinn
@DuckTheFinn 3 жыл бұрын
If you used the two sided flag in a material, couldn't you just multiply the normal with the sign of the face? That way the backwards normals would get flipped around to be the same as the normals you want.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
You sure could as well - I didn't actually know about Signs/Side stuff until after I uploaded this haha. The current solution I have in the Description is a much more elegant solution + my diagonal grass solution makes for some Data saves :)
@feraly7506
@feraly7506 Ай бұрын
If using the method in the description, you must fix all your normals to be pointing straight up. That means watch the part in the video starting at 5:10 !! The skip section is too long!!! @PrismaticaDev Also! if you rotated your grass in Blender make sure to apply the rotation before setting normals!
@samohickey
@samohickey 2 жыл бұрын
Also!! From what I know of a double sided material: it doesn't add vertices, but for each material on a mesh there's another draw call. So maybe a double sided material has two draw calls for a single material? I would assume. So not more vertices, but more draw calls. It probably balances out for performance either way.
@secondhandsightsound3823
@secondhandsightsound3823 3 жыл бұрын
SIIIIIIIICK!
@marionette3215
@marionette3215 Жыл бұрын
At 8:50 when you explain the upwards z offset, what is the first part of the multiply node connected to
@MrJohanlundmark
@MrJohanlundmark Жыл бұрын
Vertex Color
@j3nn_3d
@j3nn_3d Жыл бұрын
Is the main concept here that the normals need to face upwards and be double sided? Could I do the normal fix in Maya and then use the double sided material in Unreal on a single mesh that wasn't combined with a flipped version of itself?
@MadpolygonDEV
@MadpolygonDEV 3 жыл бұрын
could you cover landscapes? I am so afraid of them lol. Like how to place grass automatically on green bits, rock on others etc and maybe even meshes like sticks or small pebbles on some surface types? Would be really awesome. Any tutorials/vids would be awesome too
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
That's definitely something on my radar. I was thinking of doing a little series where we set up a really basic landscape (like the one I use in my game) and I explain all of the little challenges that come with it (like applying Automatic Grass to layers that automatically do Cliffs etc) so keep an eye out! I might even PLAN for it rather than completely wing it like I usually do haha
@MadpolygonDEV
@MadpolygonDEV 3 жыл бұрын
@@PrismaticaDev that would be total ace dude i love your style .
@Girugi
@Girugi 6 ай бұрын
Double sided by duplication will waste vertex shader operations. Fixing the normal for the back sides in Shader would be better. Or, calculate the normal in another way. If you can export the mesh without normals the neetices will take less data and play better with cache memory too
@PrismaticaDev
@PrismaticaDev 6 ай бұрын
There's an amendment in the description just for that :)
@Deathend
@Deathend 2 жыл бұрын
Quick tip: Objects don't cast shadows if you have it scaled to low and it can cause some fake results when messing with the grass. Set it to medium at a minimum. I wasted two hours trying to figure out why shadows weren't being cast to my landscape lmao.
@commandershepard4956
@commandershepard4956 Жыл бұрын
Hi, love your tutorials. I had a question about the exporting process for grass with vertex color data. I'm using maya and my fbx file is not importing the vertex color data from maya to unreal... Do you happen to have a good tutorial regarding the process of creating grass from scratch and showing the import/export process?
@PrismaticaDev
@PrismaticaDev Жыл бұрын
Hey hey - most likely the vertex data is getting lost on Import to UE due to import settings
@commandershepard4956
@commandershepard4956 Жыл бұрын
@@PrismaticaDev Thanks
@ahmadzuhri6190
@ahmadzuhri6190 2 жыл бұрын
Cute cat
@LucasSilva-wm4kn
@LucasSilva-wm4kn 24 күн бұрын
Hey there, how's it going? I need some help to solve a little problem, i'm trying to replicate the visual of your grass, but the lumen effects isn't allowing me to do so. Is there a way to disable the screen traces and short range ambient occlusion during the play time?
@PrismaticaDev
@PrismaticaDev 23 күн бұрын
Hey there! Unfortunately Lumen is extremely limited in terms of creative control. It looks great but you can't adjust things like AO amount or Screen VS Global stuff. Maybe in the future it will be possible, but for now it's pretty much designed to be used as is.
@rathernotdisclose8064
@rathernotdisclose8064 2 жыл бұрын
nice
@samohickey
@samohickey 2 жыл бұрын
Wow! I have had this issue since UDK. Thank you!! Liked, subscribed, rang that bell. Let's be friends! 💯🦊
@exa211
@exa211 3 жыл бұрын
I just wanted to say that i needed to change "Source" to "Local Space" in the TransformVector Node as of the new update! (Maybe someone has the same problem as me)
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Hmmm interesting! It might depend on how the Normals of your grass mesh are set up. If you have your grass "aligned to surface" AND they're manually pointed upwards in Blender then you'll want to use Tangent -> World. I think Local -> World is just the same as plugging the 0,0,1 normal into the normal slot
@exa211
@exa211 3 жыл бұрын
@@PrismaticaDev Yes, it's the same as just pluggin' in the 0,0,1 Vector, i needed to manually change the normals in blender so i can use tangent to world, all fixed now :D Btw. i'm really FUCKING thankful that i found your channel!
@dandy445
@dandy445 2 жыл бұрын
Hi All, Regarding the grass normals, none of this or anything else i found online would fix the issues with the grass normal always being 0,0,1 (straight up) and not matching the landscape as charlie shows at 3:00 mark. What i noticed is that either plugging in 0,0,1 or the RVT sampled landscape normal to the grass normal node gave me the same worldspace up normals all over. I tried all sorts of transforms but nothing worked. After experimentation, I found that the vertexnormalWS node was the only one that actually varied the normals based on the landscape slope. Eventually, I fixed my issue by importing a completely different grass mesh and then reimporting the old one. I think there was a bug or messed up setting when my mesh originally imported. Then, plugging the vertexnormalWS directly into my normal worked. Hope that helps somebody.
@PotatoHate
@PotatoHate 2 жыл бұрын
What if you use object space Z axis and plug it into a normal?
@PrismaticaDev
@PrismaticaDev 2 жыл бұрын
Would have to test it and see - I'm not 100% sure how Object Space works with instances
@t3hpwninat0r
@t3hpwninat0r 3 жыл бұрын
i dont think using RVT normals would work very well because the grass meshes would get a kind of "stripey" decal-like projection of the normal texture that was applied to the landscape material. might work well if the landscape material is a flat colour without pixel normals.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Haha yes indeed. Although, if the RVT was a low enough resolution it could be blurry enough to work. Either way, there are better solutions haha
@coffeediction
@coffeediction 3 жыл бұрын
Nice video, came back cause its about time to make grass, but this doesnt work or doesnt work anymore. Tried the double sided material and flip normal + dupe vert count, still same dark splotches/sides on material, Ive rechecked everything twice. Also tried with plane and each blade as mesh, same results :/ Sadly we live in 2021 and still have NO FOOLPROOF way to make foliage xD
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Hmmmm very weird!! Mind chucking me a message on discord with a screenie of your material and mesh? And we'll be able to figure it out for sure :)
@Montazeran8
@Montazeran8 9 ай бұрын
❤❤❤
@CP-Mohammed
@CP-Mohammed 3 жыл бұрын
hello i need to build a house in BP with Geometry but i can't because it doesn't work i want to build a house like pubg house but in BP to safe any changes that i make at all the map without copy the house again a lot of times
@047z
@047z 3 жыл бұрын
If you're looking to have multiple of the same house just build it in the level, select all parts of the house and press control + g, which should turn the collection of selected objects into a group. Then you can just copy and paste the group around the map. You can also make groups within groups, like for example, you can set up a table surrounded with chairs and stuff on the table and turn that into a group, and you can join that group into the house group. I reckon this method would be much easier than creating blueprints that are more static and less editable.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
@@047z you're right on the money - this is what I'd suggest. Groups within Groups are extremely handy as well - just make sure to have a good Folder Structure within your level! Haha
@CP-Mohammed
@CP-Mohammed 3 жыл бұрын
@@047z I did it but the problem here when I want to change some thing in the house I must copy this house again I need it to be like BP child when I change one thing it will also change to all houses in my map you understand yeah. Thanks
@047z
@047z 3 жыл бұрын
@@CP-Mohammed If you are going to be regularly changing the house then I suppose the actor BP would be the way to go. Its pretty easy to build stuff in there as well, just a bit finicky moving around the viewport at times. Making stuff in the actor blueprint is a lot like making stuff in the regular viewport, all the controls are the same. Basically just drag and plop stuff from the content manager into the actor viewport and bobs you're uncle. The main difference is that there's a hierarchy of components in the top left of the window which displays all the stuff you added in and what is tied to what, but it shouldn't really matter if the scales and everything are constant. I'd recommend looking into basic blueprint tutorials, the Unreal Engine youtube channel does one that'll show you how everything works.
@just_a_mango
@just_a_mango 3 жыл бұрын
Hi! Have u got a tutorial for the grass material ?
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Look for my Wind system tutorial, my Grass colour tutorial and my Grass occlusion tutorial :)
@just_a_mango
@just_a_mango 3 жыл бұрын
@@PrismaticaDev Thank you!(and also ty for responding so fast lol) 😃
@xxerbexx
@xxerbexx Жыл бұрын
Almost right. But the duplicating is not necessari. You can just flip the blackface normal.
@gursimransingh8726
@gursimransingh8726 3 жыл бұрын
HELP IN MY CASE WHEN I PUT THE VALUE IN THE Z TO POINT THE NORMALS ,THE NORMALS ARE NOT FACING UPWARS
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Hey Guri - you'll need to be a little more specific haha. If you'd like to share some screenshots in discord I'll be able to help :)
@gursimransingh8726
@gursimransingh8726 3 жыл бұрын
@@PrismaticaDev ok
@gursimransingh8726
@gursimransingh8726 3 жыл бұрын
@@PrismaticaDev but how can i find you in discord
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
@@gursimransingh8726 there's a link in the video description :)
@kairu_b
@kairu_b 3 жыл бұрын
Noice
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
you are xoxo
@kelvin.tar11178
@kelvin.tar11178 2 жыл бұрын
I was reluctant on duplicating the faces for the cards, so I looked for alternatives and found that you can multiply a 0,0,1 (blue vector 3) with a "TwoSidedSign" node and connect it to normal, and it achieves almost the same result imo; another option I guess?
@croaker900
@croaker900 Жыл бұрын
If instead of 0.0.1 set 0.22, 0.22, 1, then the normals will look up
@mecklefeckle8569
@mecklefeckle8569 3 жыл бұрын
fishing levels?
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
91, hbu??
@mecklefeckle8569
@mecklefeckle8569 3 жыл бұрын
@@PrismaticaDev 62 going for sharks
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
@@mecklefeckle8569 veeery nice. Great money maker ;)
@ArchonsGame
@ArchonsGame 3 жыл бұрын
Where is the align normal?
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Here you go :) It's named differently depending on if you're painting foliage or using Landscape Grass imgur.com/a/PhqQ0jE
@ArchonsGame
@ArchonsGame 3 жыл бұрын
@@PrismaticaDev Thanks! And thank you for doing what you are doing!
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
@@ArchonsGame no worries at all! :) If you ever need a hand with anything check out our Discord server - a tonne of helpful people in there 24/7
@markbay9275
@markbay9275 3 жыл бұрын
How did you become a wizard.
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
I eat my vegetables
@SweetestWalrus
@SweetestWalrus 2 жыл бұрын
I'm only 3 seconds in and I already wanna fire up my old OSRS account :(
@CreativeOven
@CreativeOven 2 жыл бұрын
runescape any one?
@gtanerd1999
@gtanerd1999 3 жыл бұрын
Hey I know a better way to do this IN-ENGINE!
@gtanerd1999
@gtanerd1999 3 жыл бұрын
I can show you
@renske9637
@renske9637 3 жыл бұрын
👀 show
@PrismaticaDev
@PrismaticaDev 3 жыл бұрын
Heya Andre! I made an update in the description of the video that might be similar to your method, although I'd love to hear your experiences about it either way :)
@gtanerd1999
@gtanerd1999 3 жыл бұрын
@@PrismaticaDev I'll take a look, but thanks for the video man, i love your content!
@LaB_Studio
@LaB_Studio 2 жыл бұрын
the rc vibes is distracting
Simple Global Wind in UE4 (One weird trick! Everyone hates him!)
19:01
Easy Grass Occlusion in UE4
7:27
PrismaticaDev
Рет қаралды 28 М.
Stop, Intel’s Already Dead! - AMD Ryzen 9600X & 9700X Review
13:47
Linus Tech Tips
Рет қаралды 1 МЛН
Single Layer Water | 5-Minute Materials [UE4/UE5]
11:54
PrismaticaDev
Рет қаралды 138 М.
Procedural Grass in 'Ghost of Tsushima'
26:09
GDC
Рет қаралды 125 М.
How I Remade Dune in 24 Hours using VFX
14:10
Josh Toonen
Рет қаралды 478 М.
Landscapes | 5-Minute Materials [UE4]
9:58
PrismaticaDev
Рет қаралды 42 М.
how this game renders millions of blades of grass
5:03
Stylized Station
Рет қаралды 373 М.
Stop Killing Games - 2
8:04
Pirate Software
Рет қаралды 117 М.
Why Solo Developers Should Use Unreal
10:55
Thomas Brush
Рет қаралды 351 М.
Distance Fields (Part 1) | 5-Minute Materials [UE4/UE5]
9:20
PrismaticaDev
Рет қаралды 107 М.