Author Topic: How you handle large amounts of grass in your scenes?  (Read 22520 times)

2017-03-29, 12:01:45

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
Hi,

I was wondering how are you dealing with large amount of grass in your scenes? So far I could hide the "second plan" easly to cheat that there is a 3d grass there and put the best 3D grass in the foreground. It didn't take that much time and memory.

However now I am dealing with my diploma. I have the terrain with huge amount of dunes. I am prepearing now just the terrain, without the building. So for example this results almost made my Mac explode. It took 40-50GB of storage space to handle it.



I tried now pure C4D's hair. But this simple hill object with hair (simplyfied one!) is taking 15GB of storage.



The reason for having it is that there will be a lot of renderings from many sides and also the grass will be in the reflection of the glass.

What is you method of dealing with it?

2017-03-29, 12:52:21
Reply #1

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
I am not a CGI expert, but coming from computer games industry, have you tried something like instancing + LODs?

2017-03-29, 12:54:53
Reply #2

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
I mean I am using instances with MoGraph. But that amount of grass is even too much for it ;)

2017-03-29, 14:17:22
Reply #3

dolain

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Flickr photostream
Well I am quite happy with the effects that Carbon Scatter gives - it has its downfalls (eg. you can't have 2 scenes with CS ecosystems opened at the same time), but in terms of efficiency I know no better scattering solution. It's easy and fast to set up, too, at least as long as you don't go for super fancy results which may require using the node editor. Get the trial and see if it works for you. Surface Spread is nice, too - C4D integration is better than CS in my opinion, but it doesn't handle huge amounts of instances very well.

Cheers
Win10 | 5960x | 64GB RAM | GTX 780Ti | C4D R18 Prime

2017-03-29, 14:21:38
Reply #4

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
But does it handle instants better than MoGraph's Cloner? Again, imagine having 2 000 000 000 copies of grass.

2017-03-29, 14:24:22
Reply #5

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1252
    • View Profile
    • My personal website
From my experience... SurfaceSpread and MoGraph can hardly handle really big scenes. Yes, in theory you can shoot a ton of instanced stuff at them and after a few days you'll get your render but on any kind of production job that is impossible to work with.

I have, in practice, used MoGraph the most. I don't often do large scale projects but I do exteriors yeah - think houses with backyards with a small view over to the neighbours. In that case MoGraph is OK. It takes like 30 seconds to calculate all the grass but its workable.

SurfaceSpread to me performs a little worse than MoGraph. It has A LOT of useful features but the preparation times are higher than MoGraph.

So, the only thing I heard of that works with insane amounts of grass is Carbon Scatter - with all its limitation it appears to be quite useful in those cases. I heard people can pulloff some really nice amounts of clones with short preparation times.

I try to help myself sometimes by doing large patches of grass so that there is a lesser amount of clones to scatter. To me the biggest problems are the preparation times before the render stars and secondly, the super slow viewport.

To get around the second one I normally unhide, disable MoGraph / SurfaceSpread when I am doing something else than grass. You also need to have it set to not be visible in the viewport otherwise you are in for some painful times :)

Also, it helps doing on thing at a time while working on the scene :)
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2017-03-29, 14:53:28
Reply #6

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
It is mostly about the rendering. I am always turning on preview of the grass/trees. But often I had like 80gigs of hard drive taken. I am just afraid that this time it will the same and the application will run out of memory. Especially when the big renderings might be around at least 6000px on width. It is a shame that trial version of Carbon Scatter has a limit of 1000 instances -.-. That is nothing...

2017-03-29, 15:10:32
Reply #7

dolain

  • Active Users
  • **
  • Posts: 20
    • View Profile
    • Flickr photostream
It is a shame that trial version of Carbon Scatter has a limit of 1000 instances -.-. That is nothing...

I believe the number of instances in trial Carbon Scatter is unlimited - the limit that you mentioned refers to conversion to native instances (which is a neat feature, but not an essential one).

Cheers
Win10 | 5960x | 64GB RAM | GTX 780Ti | C4D R18 Prime


2017-03-29, 20:20:45
Reply #9

hog0

  • Active Users
  • **
  • Posts: 65
    • View Profile
Try this http://www.3dquakers.com/2015/09/08/forester-for-cinema-4d-multicloner-distribution-patterns-3/

and again someone was faster then me :P

i always use forresters multicloner to scatter gazillions of clones (render instances or even better corona proxies) over a surface, the point mode keeps the viewport empty and fast and for rendering different camera angles, you just have to activate backface culling and limitation to camera cone.. that way you only have the objects scattered where the camera can actually see them ..

2017-05-21, 21:14:48
Reply #10

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
Okay, so I gave a chance (and money) for Multicloner. Unfortunately this is what I still get:


And the scene is not that heavy :/.

2017-05-22, 09:33:39
Reply #11

4b4

  • Active Users
  • **
  • Posts: 163
    • View Profile
One idea you could try is to just use high poly clones up close to the camera and reduce the quality of the clones that are further away from the camera?

The tutorial videos for the multicloner are worth a look:

https://www.3dquakers.com/forester-for-cinema-4d-documentation/

2017-05-22, 11:04:55
Reply #12

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
I was thinking about this method before but the problem is that I would need low poly grass. And actually even if one blade has 3 polygons, that is already a lot when scattered throughout the scene.

2017-05-31, 16:09:13
Reply #13

Beanzvision

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 3873
  • Bengamin
    • View Profile
    • Cormats

2017-05-31, 22:53:01
Reply #14

mp5gosu

  • Active Users
  • **
  • Posts: 156
    • View Profile
*edited
« Last Edit: 2017-05-31, 23:04:13 by mp5gosu »

2017-05-31, 23:35:18
Reply #15

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
I think the issue is that C4D itself struggles to handle millions of objects due to the way it has been coded. For what I can see Max can handle a lot more. I've been down this road a long time ago and basically given up trying to create convincing scattered grass over larger surfaces. It will just eat your RAM and you can spend hours struggling over it and generating it when you can do it much quicker in photoshop. Im hoping Coronas hair solution slated for 1.7 in the MAX version will help us create decent grass.

I believe Carbon Scatter works slightly differently but I wouldnt recommend it as it is a quirky work flow and not as integrated. Forrester is as good as SS but you also get the tree and plant generators thrown in and they are pretty powerful once you get to grips with them.

2017-06-01, 11:37:55
Reply #16

Marian

  • Active Users
  • **
  • Posts: 42
    • View Profile
C4D R19 will add multithread into Mograph (cloner).

2017-06-01, 12:56:53
Reply #17

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
Is that a confirmed fact, how do you know? Awesome if it is. Hope the third party plugin devs can access the same multithreading code for their scatter engines. That will make a massive difference.

2017-06-01, 15:57:09
Reply #18

mp5gosu

  • Active Users
  • **
  • Posts: 156
    • View Profile
Is that a confirmed fact, how do you know? Awesome if it is. Hope the third party plugin devs can access the same multithreading code for their scatter engines. That will make a massive difference.

No, I doubt there will be multithreaded Cloning. ;)
@Marian: Even if you might know what comes, that info is not meant for public right now.

2017-06-02, 08:33:58
Reply #19

Marian

  • Active Users
  • **
  • Posts: 42
    • View Profile
Ok,Im propably too much optimist...Not sure that it will really come in this release, but there are some signs out there that it might be true in near future. Look for example at https://youtu.be/xGj57citzUc?t=14m55s or on their blog about rewriting their old code for newone https://www.maxon.net/en-us/news/maxon-blog/article/foundations-for-the-future/.

2017-06-02, 12:24:07
Reply #20

mp5gosu

  • Active Users
  • **
  • Posts: 156
    • View Profile
Yes, building a new code base is what Maxon works on for several years now (when I remember  right, it began with R13) and this is progressive task. So, most likely it will take another 3-5(or even more, maybe less) releases to completely move to this basis.
Besides that, new features will also have to be built based on that, existing ones have to be rebuilt. C4D has decent and extremely good MT implementation yet, that's why Cinebench is so fast on multithreaded machines and used by chip vendors to show of their capabilites.
And to conclude this, keep in mind that there are cases where multithreading makes things slower.

By the way, writing down things like "This and that will be in next release" isn't helpful for anyone. That only leads to confusion and disappointment.

2017-06-12, 06:06:26
Reply #21

Han

  • Active Users
  • **
  • Posts: 58
  • CG generalist
    • View Profile
I made a scene with 114 163 billion polygon  with the help of MoGraph the cloner, it was very simple.
The main thing is not to forget in the cloner include the function - render instance.
Corona 1.7/ DalyBuild/  May 15 2017
Win10 / Cinema R18.048 
CPU 5820K /  Ram 32 GB - The scene used 12.7 GB
------------------------------------------------------------------------------------------------------
Now this is probably a Mac version problem, but I think you need to try the latest daily build.
Previously, there were the same problems, the scene consumed all the memory and the system hovered. Now everything works even better than in 3DMax
The Render Legion team did a good job! Thank you guys, you are great.
« Last Edit: 2017-06-13, 00:52:28 by Han »

2017-06-15, 22:16:52
Reply #22

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
Nope. Last version is handling huge amount of greenery way worse...

And I am talking about way bigger areas of grass ;) (like I did here for my diploma).

2017-06-19, 09:49:52
Reply #23

rojharris

  • Active Users
  • **
  • Posts: 99
    • View Profile
Probably an obvious point but you have remembered to check the 'render instances' checkbox? Its there in all these utilities, mograph, forrester, surfacespread etc. and makes a HUGE difference

2017-06-20, 18:52:34
Reply #24

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
I am always rendering instances.

2017-12-01, 15:16:59
Reply #25

vianney

  • Users
  • *
  • Posts: 3
    • View Profile
I test surface spread, it isn't better than mograph.
the render time is enormous
cdt

c4d R15
corona B1 17 may 2017


2017-12-01, 18:31:34
Reply #26

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile
I create LOD meshes for things farther away from the camera.
I once found a freebie of a grass patch which alone demanded about 12 or 16gigs of ram...just the patch.
I rarely do animation, so camera movement is less of a concern for me but with proper placement, culling and maybe a small script to switch meshes when higher quality meshes are necessary should be manageable and speed up the process a lot.
For stills, it's often easier to compose the image.

2017-12-02, 19:49:16
Reply #27

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1252
    • View Profile
    • My personal website
I think currently the biggest limitations stem from Cinema 4D itself - at least for the time being. I think this goes in line what @Rhodesy and some of the others have already said.

What I personally "struggle" with but still find manageable is the viewport FPS with many objects instanced. It requires careful planning if you want to undertake big projects with big scenes.

Layers and turned off cloners are something I do to have the viewport remain usable - hiding the nulls sometimes isn't enough. It can become less confusing if you keep all the scatter cloners in one null and then just enable them before you render. It also helps to work on a smaller grass surface in another scene and then you copy and paste it into the original one.

The bigger limitation imho is the Cloner / SurfaceSpread / Forester / etc... and their preparation times. Crude example but still, if I render 100.000 1mil poly trees with Corona Scatter (in 3ds Max) it takes like 10 seconds to prepare the scene and geometry. In C4D it takes like 1 minute.

That pretty much means that in one scenario I can work on exterior scenes using the IPR and in the other... Not so much :)

That said I am hoping some of these "problems" will be worked on in R19+ with the core rewrite.

Every software has its pros and cons... I mean there are very popular packages out there were you can't even scatter stuff non destructively without a plugin. Pros and cons :)
« Last Edit: 2017-12-02, 19:55:16 by nkilar »
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2018-08-12, 18:01:34
Reply #28

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
Not a lot have changed - Surface Spread, MoGraph and MultiCloner are not giving the best results.

2018-08-13, 12:41:07
Reply #29

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1252
    • View Profile
    • My personal website
@zbieraj,

Multi-instances in R20 will probably solve most of your problems :) Check the cineversity videos.
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2018-08-13, 16:42:18
Reply #30

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile
Wow! I did not see that one in R20 presentation. Oh I can't wait to get my hands on that :). It is good that I skipped upgrade'ing to 19 :D.

2018-08-13, 22:51:49
Reply #31

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1252
    • View Profile
    • My personal website
Wow! I did not see that one in R20 presentation. Oh I can't wait to get my hands on that :). It is good that I skipped upgrade'ing to 19 :D.

If you've skipped R19 entirely you can now buy R19 and get the MSA (aka R20) for free. Just a heads up on that :)
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2018-08-14, 01:20:02
Reply #32

Eddoron

  • Active Users
  • **
  • Posts: 552
  • Achieved Pedestrian
    • View Profile
I rather wait for 21.
There are no features that are truly new. Some things may be useful but there's nothing I couldn't achieve with either a plugin or Houdini.

Nodes based mats - less clutter and redundancy. Should've been an option since R13. Substance (also Corona, Arnold, Octane, Redshift etc.)
Fields - kinda useful for mograph. Houdini
Volume modeling - basically just booleans with less fucked up topology and a bit faster. Zbrush, Houdini
ProRender - R19 version was LOL
Multiple instances - kinda useful, comes with dynamics limit.
More passes - different renderer, also rather using Cryptomatte.
CAD-Data import - not for me

This is just my opinion and why I would skip that version.  If any of you feels the need, the go and get it.
I just don't want the hype-train to go so fast that it derails. Whenever a new feature gets introduced, it's either broken in some way or mostly useless.

« Last Edit: 2018-08-14, 01:34:29 by Eddoron »

2018-08-14, 09:32:28
Reply #33

rozky

  • Active Users
  • **
  • Posts: 29
    • View Profile
For very huge scenes with lot of instances is Surfacespread 2 or Octanescatter. The rest is just way too slow.
Stefan  confirmed that New multinstances are much faster than SS2 (export time).
Surface spread might get support for multi instances later.
Could someone from developers test new multiinstances and compare it with surfacespread2?
Thank you.
Archicad 8-23CZE, Corona Renderer for Archicad Alpha 5

2018-09-05, 09:22:39
Reply #34

kraphik3d

  • Active Users
  • **
  • Posts: 66
    • View Profile
@zbieraj,

Multi-instances in R20 will probably solve most of your problems :) Check the cineversity videos.
You cannot use Corona yet with R20 so don´t bother?
Generating triangles with hair is not a problem.

2018-09-06, 23:14:32
Reply #35

zbieraj

  • Active Users
  • **
  • Posts: 107
    • View Profile

2018-09-21, 14:45:57
Reply #36

kraphik3d

  • Active Users
  • **
  • Posts: 66
    • View Profile