Lawn Grass Archviz

Thank you!!!

Really useful, thank you.

Looks amazing rabellogp- is your scene using baked lighting or is it all dynamically lit? I find that my grass looks terrible after baking (ugly black shadows and lines that kill the realism), even with static lighting set off in the foliage settings!

Apologies for the potentially silly question, but I am a beginner.
Did you create that building inside UE4, or did you create it in a 3rd party modelling program and the import it in?

very nice results!

Thanks.
Could you please share a picture of those black shadows and lines you are talking about? I’m also getting some strange black artifacts with baked lighting, but it’s only when I’m using landscape mesh around. When I use ordinary mesh for the terrain, I have no problems with the lightmaps on the grass (despite of the increase of RAM usage while calculating light), I set 8 for the lightmaps res and everything goes fine.

With static light off in the foliage settings I don’t have any issue despite the pure black dynamic shadows over the grass. To get around that you must set up some dynamic skylight or even add emissive light to the grass material.

I’ve created that building in 3D Studio and it was originally a VRay rendering project. Then I’ve made some required adjustments on the meshes and exported it to UE4.
UE4 does not have tools for advanced modelling (you can create some basic geometry and combine them, but that’s all), you’ll always need a 3rd party modelling tool to create your assets.

[QUOTE=rabellogp;281664]
Thanks.
Could you please share a picture of those black shadows and lines you are talking about? I’m also getting some strange black artifacts with baked lighting, but it’s only when I’m using landscape mesh around. When I use ordinary mesh for the terrain, I have no problems with the lightmaps on the grass (despite of the increase of RAM usage while calculating light), I set 8 for the lightmaps res and everything goes fine.

Hmm it seems to be fixed in 4.7.6 now- works like a charm :slight_smile:

https://farm8.staticflickr/7715/16712613084_e93b757ef9_o.pngGrassy Hill by EoinOBroin, on Flickr"]https://farm8.staticflickr/7715/16712613084_e93b757ef9_o.pngGrassy Hill by EoinOBroin, on Flickr

That’s a really nice result! It even looks like you have individual meshes for each blade. Cool! =D

Thank you! I actually used the same method as you did with the speedtree grass (planes), but I used my own shader and alpha mask as I felt the speedtree one looks a little clumpy- I wanted more thin and detailed blades!

Also to answer your comment on Flickr- the lighting is a mixture of baked and dynamic- the trees are lit by baked lighting, but the grass is dynamic as that is the only way I seem to be able to get good results! Not exactly optimal performance (around 40 FPS on a GTX 980)- but hopefully in the future, we will have the power to render entire worlds with this kind of detail at high FPS :slight_smile:

Yes, I think that Speedtree texture works fine for short grass just because it is clumpy and you can reduce the mesh density just because of that. The amount of triangles required to hide the ground with sparse blade textures would be insane with really short grass, so it’s a trade of. While your grass looks taller, I imagine the amount of meshes you have there to hide that ground plane =P. You can play a little bit with LODs (if you haven’t yet) to get better performance, it helps a lot.

That grass is just phenomenal! I’d be curious to see a shot overhead looking down from player perspective to see just how dense this is.

P.S. the client expects this to run a smooth 75fps for VR! :stuck_out_tongue:

I don’t know if you are asking for top view from mine or EoinOBroin’s grass :p. Anyway, here goes mine:

&stc=1

I think 75fps will be possible with high end SLI only…

If you put this grass on the marketplace I’m going to buy it. It looks really good!

I have a setup similar to Rabellogp but I can’t find a way to make UE create the lightmap. Everytime I try to build the lightmap it gets stuck at 99% and won’t finish.
On my foliage system there are around 7000 instance of a single mesh (the mesh linked by Rabellogb previously) with lightmap set on 4 and they are spread all around a static mesh that I use as a ground.

Do you have any idea on why it doens’t work?

For how long it’s stuck at 99%? sometimes it can take hours to build lighting. My record is around 10 hours!!!

Oh well, I usually don’t wait more than an hour cause usually when I use the preview quality it takes just a few minutes, but maybe with that much meshes I have to wait more.
I’ll try maybe later this day, anyway, if that works, can I save the lightmap for that particular object or tell to not render it again and keep the old one?

Some people have been asking me for that, but I’m actually still experimenting on that grass to get where I want (I’m close, but I’m not there yet :p). The work I’ve done until now was mainly inside unreal, tweaking materials and foliage system to combine different versions of the same geometry with different densities and materials per distance. In the end I have nice visuals and acceptable performance, but my foliage system has like 5 copies of the same mesh with different materials and setups just to achieve those results for one single kind of grass. It’s nice for experimentation, but it’s not easy to replicate in other projects and very painful to manage and tweak. My ideal is to package all that inside a single mesh with proper LOD system, and for that I need to invest some time on creating my own asset. The asset I’ve been using in those experiments is just one of the SpeedTree’s backyard assets with minor tweaks in SpeedTree Editor (I’ve reduced segments to optimize it a little). So right now that lawn is just a mess of config, materials and asset copies. I don’t see how it can be put on marketplace yet.

Next step for me is to create custom mesh in 3DS, create my own textures to explore some visual improvements there and bring the results I’ve achieved with the foliage system setup into LOD system of a unique mesh. Once I’ll have a nice and unified asset (and maybe a package with some variations), I’ll be able to guarantee the same visual and performance in different projects, enabling reuse. Then, I’ll definitely consider putting it on marketplace :D.

As heartlessphil said above, it’s probably not stuck at all, you just need to wait (a lot). A huge portion of the time I spent generating light maps consists of that last 1% you are talking about. Take a look at your RAM usage, if it’s near 100%, your system is probably swapping already and it will increase the render time even more.

And you can always try the dynamic light option. Deactivate the static light and shadow option for the grass and activate “inset shadow” for the static meshes you want to produce shadows over the grass (it will impact the performance a little).

edit:

You know what, that feature would be really amazing! I don’t think there is an easy way to do that without mess up with UE4 source, but it would definitely be useful to have that kind of option to speedup our lighting tests.

I think that we, as archviz artists, should do a thread where we put together some ideas and requests for Epic to let em know our needs. I would do it but we need someone with time to format the thread and adding the ideas to the OP and I don’t have time to do that sadly.

Are you planning on releasing this on the marketplace in the near future?

Hello Everyone,
I am certainly no shader expert but I thought that I would give my input on this topic and bump this thread.
Lately I’ve been experimenting using POM (Parallax Occlusion Mapping) for a short “lawn” type of grass. I think that performance wise it’s not a bad solution because a) You can easily set the shader min and steps to scale with the distance to the camera, and b) You can use it on a single flat plane.

Here are my results so far:
This test scene does not use lightmass.
The geometry used in the scene consists of a flat plane for the grass with very low poly bumps (basically domes) for the “dirt”.