GroundCover WindEffects
by Duion · in Torque 3D Beginner · 03/17/2013 (6:55 am) · 18 replies
I started placing my non-static ground cover objects like plants, grass-like-meshes with the forest editor to have wind effect on them, since when you use shapes with the groundCover tool, wind effects do not get apllied (correct me if I missed something).
So but the forest editor does not place the shapes dense enough, he seems to put them on a grid, that the shapes do not overlap each others, so is there a way to paint them more dense or make them overlap, if needed?
Or is there another way, like activating wind effects on groundCover objects?
So but the forest editor does not place the shapes dense enough, he seems to put them on a grid, that the shapes do not overlap each others, so is there a way to paint them more dense or make them overlap, if needed?
Or is there another way, like activating wind effects on groundCover objects?
About the author
http://www.duion.com - Human Paradigm Specialist
#2
So there is a missing link, you will have your forest trees wind animated and your billboard groundcover grass, but the medium sized plants you would want to place with ground cover are not wind animated.
03/17/2013 (9:13 am)
Not for shapes, if you add the defaultree for example with the groundcover it is not wind animated.So there is a missing link, you will have your forest trees wind animated and your billboard groundcover grass, but the medium sized plants you would want to place with ground cover are not wind animated.
#3

...but sadly not blowing in the wind :(
03/17/2013 (9:31 am)
By the way the defaulttree makes a good grass...
...but sadly not blowing in the wind :(
#4
03/17/2013 (12:04 pm)
Adding an ambient animation to the object might work - if it does it would likely be a ton easier and cheaper than actually adding wind emitter support to a field of objects like this one....
#5
You can set the 'closeness' of anything in the forest editor. Select your forest, click the meshes tab, choose the mesh you want to use as 'ground cover'. Next take a look a the mesh properties. You will see a section near the top. You will see Shapefile (points to your file), Collidable (its a checkbox for collisions) and radius...... set radius to some thing like .1 instead of 1. You can get things very dense that way.
Ron
03/17/2013 (12:57 pm)
Duion,You can set the 'closeness' of anything in the forest editor. Select your forest, click the meshes tab, choose the mesh you want to use as 'ground cover'. Next take a look a the mesh properties. You will see a section near the top. You will see Shapefile (points to your file), Collidable (its a checkbox for collisions) and radius...... set radius to some thing like .1 instead of 1. You can get things very dense that way.
Ron
#6
03/17/2013 (1:04 pm)
As I already said, I solved this with setting them up for forest wind effects, this only has one flaw, if you paint it, it is very sparse and you would have to move the objects by hand closer together, which is a hard thing with something like grass, so my question is, if there is some possibility to add a function for this to make the forst things paint more dense, for now the seem to use some kind of grid, you can paint smaller ones between bigger objects, but so they are smaller and do not cover the area well.
#7
wow thanks

PS: One stroke with this on size 50 produced 1,6mb forest file ;)
03/17/2013 (1:06 pm)
@Ronwow thanks

PS: One stroke with this on size 50 produced 1,6mb forest file ;)
#8
03/17/2013 (2:10 pm)
My main point was that the computer has to do work to deform the meshes - the more meshes, the more work it has to do. With people having performance issues I was merely trying to suggest a "cheaper" alternative.
#9
03/17/2013 (2:16 pm)
I think forest wind effects is more effective, since it has a radius and animation also eats up lots resources.
#10
In all honesty, I HATE the ground cover tool. Clever use of the forest editor is simpler to use, more controllable (because you can control the radius of the effect and you are not relying on ground textures to determine object position, etc.) and it just looks better. I also find that the wind emitter can often be 'out of sync' with the ground cover 'wind effects'...granted most players or users would not always notice this, but I do.
Another issue, try that same scene with the ground cover object and in the mid-range, you will likely see shadow issues like crazy (split shadows, banding etc.) Not sure why this is (I have not had time to look at the source code on this issue yet, I think it has to do with the grid system that the ground cover object uses to produce the replicated geometry vs, the grid system used for shadow computation) Regardless, it's annoying and frustrating and therefore counter productive. Ground cover works well with single planes with a transparent texture, just not meshes.
Ron
03/17/2013 (2:59 pm)
Richard is correct as well. That's one of the nice things about T3D, there are usually a number of ways to accomplish the same effect.In all honesty, I HATE the ground cover tool. Clever use of the forest editor is simpler to use, more controllable (because you can control the radius of the effect and you are not relying on ground textures to determine object position, etc.) and it just looks better. I also find that the wind emitter can often be 'out of sync' with the ground cover 'wind effects'...granted most players or users would not always notice this, but I do.
Another issue, try that same scene with the ground cover object and in the mid-range, you will likely see shadow issues like crazy (split shadows, banding etc.) Not sure why this is (I have not had time to look at the source code on this issue yet, I think it has to do with the grid system that the ground cover object uses to produce the replicated geometry vs, the grid system used for shadow computation) Regardless, it's annoying and frustrating and therefore counter productive. Ground cover works well with single planes with a transparent texture, just not meshes.
Ron
#11
The only bad thing on it is, that it has no wind emitter enabled.
If you would paint your grass with the forest, you would have to do everything by hand and if you don't like it you have to delete it by hand and start again and it would produce a huge data file, while with ground cover you just change parameters.
With wind support it would have it's place for shapes, since then you can only use it for 2d grass and little rocks.
03/17/2013 (6:48 pm)
The idea with the ground cover tool is good, since it generates the ground cover through an alhorhytm or so, while the forest editor saves the individual locations of things, which needs memory space.The only bad thing on it is, that it has no wind emitter enabled.
If you would paint your grass with the forest, you would have to do everything by hand and if you don't like it you have to delete it by hand and start again and it would produce a huge data file, while with ground cover you just change parameters.
With wind support it would have it's place for shapes, since then you can only use it for 2d grass and little rocks.
#12
The biggest thing using the forest tool for ground clutter/grass is a little bit of a paradigm shift.
When painting trees or the like, you have individual trees, because they're important objects.
When doing grass, however, I took the approach of having a few models with the same construction and texture, but different 'sizes'. so a 1 meter wide bunch, 3m and 5m.
That way for places I know are nothing but expansive grass, I can slather down the 5m model and it keeps the batching and draw calls to sensible levels while covering huge amounts of screen real estate. It also lets you get denser clustering if needed, but a well designed mesh gets away with it.
This also gets around the large forest files, because like you said, it is a list of the forest items, so having a small number of big batch shapes covers the same area as a large number of individual clumps, saves on HD space, memory, and rendering effort while looking the same
This is a WIP shot I was doing with these sorts of tests:
ghc-games.com/TTRpublic/grassTest.png
That's ankle-high grass, at a proper 'lawn' density, but only consists of a few dozen elements instead of hundreds.
This also means you can fine-tune much easier than ground cover, because you can manually move the clumps, or just go in later and paint with the smaller batch meshes for fine-detail.
This isn't necessarily the "best" way, but I've so far found it far superior than trying to drop in hundreds of thousands of distinct elements to get the same density while using far more memory and getting worse performance out of the deal. You could easily expand this out to be any kind of ground clutter, or heck, use this to optimize forest shots by batching trees together as well. It's a very flexible method.
Just my 2 cents. ;)
03/17/2013 (11:40 pm)
Honestly, I've forgone the ground cover entirely.The biggest thing using the forest tool for ground clutter/grass is a little bit of a paradigm shift.
When painting trees or the like, you have individual trees, because they're important objects.
When doing grass, however, I took the approach of having a few models with the same construction and texture, but different 'sizes'. so a 1 meter wide bunch, 3m and 5m.
That way for places I know are nothing but expansive grass, I can slather down the 5m model and it keeps the batching and draw calls to sensible levels while covering huge amounts of screen real estate. It also lets you get denser clustering if needed, but a well designed mesh gets away with it.
This also gets around the large forest files, because like you said, it is a list of the forest items, so having a small number of big batch shapes covers the same area as a large number of individual clumps, saves on HD space, memory, and rendering effort while looking the same
This is a WIP shot I was doing with these sorts of tests:
ghc-games.com/TTRpublic/grassTest.png
That's ankle-high grass, at a proper 'lawn' density, but only consists of a few dozen elements instead of hundreds.
This also means you can fine-tune much easier than ground cover, because you can manually move the clumps, or just go in later and paint with the smaller batch meshes for fine-detail.
This isn't necessarily the "best" way, but I've so far found it far superior than trying to drop in hundreds of thousands of distinct elements to get the same density while using far more memory and getting worse performance out of the deal. You could easily expand this out to be any kind of ground clutter, or heck, use this to optimize forest shots by batching trees together as well. It's a very flexible method.
Just my 2 cents. ;)
#13
Also you will get a problem with level of detailing, since you have large bunches you will more easy see if they pop in and out.
You will get ugly spaces between the bunches and you will have to do everything by hand, so not good for several square kilometers of terrain.
So every method may have it's place, in some cases yours may be a very good alternative and in others totally not.
03/18/2013 (4:44 am)
This only works if your ground is perfectly flat, you thought of that?Also you will get a problem with level of detailing, since you have large bunches you will more easy see if they pop in and out.
You will get ugly spaces between the bunches and you will have to do everything by hand, so not good for several square kilometers of terrain.
So every method may have it's place, in some cases yours may be a very good alternative and in others totally not.
#14
I did have to make a modification to the forest editor to allow it to use the surface normal when painting as an option, but otherwise it works on slopes just fine as long as you're sensible about it(again, different sizes allow for varying fidelity)
As for the LOD, you can give each bunch it's own LOD levels, and just remove individual elements at whatever ranges. So instead of popping, it only has parts drop out, and at fields-o-grass densities, the players would be hard-pressed to notice.
Not entirely sure what you mean by the 'ugly spaces between bunches' part though. Some adjustment may be required to get it perfect, but I doubt it'd require any more adjustment to perfect than the tweaking required by the ground cover to look right and perform well.
That said, I'm sure there are cases when this method won't work, but I can't say I've run into it yet.
03/18/2013 (10:59 am)
Well, no that's not true either.I did have to make a modification to the forest editor to allow it to use the surface normal when painting as an option, but otherwise it works on slopes just fine as long as you're sensible about it(again, different sizes allow for varying fidelity)
As for the LOD, you can give each bunch it's own LOD levels, and just remove individual elements at whatever ranges. So instead of popping, it only has parts drop out, and at fields-o-grass densities, the players would be hard-pressed to notice.
Not entirely sure what you mean by the 'ugly spaces between bunches' part though. Some adjustment may be required to get it perfect, but I doubt it'd require any more adjustment to perfect than the tweaking required by the ground cover to look right and perform well.
That said, I'm sure there are cases when this method won't work, but I can't say I've run into it yet.
#15
This is an early test of grass, 4 layers of different settings around a max at 100 000 elements each, quite a lot but my low end computer can handle it:
s14.directupload.net/images/121212/qv6jt4dr.jpg
I would accept a little more overhead in favor of simplicity in creation.
03/18/2013 (1:03 pm)
Would need some extend testing of what is better in performance. Of what I can see so far is, that your grass looks good, except for the ugly spots and that it looks resource intensive.This is an early test of grass, 4 layers of different settings around a max at 100 000 elements each, quite a lot but my low end computer can handle it:
s14.directupload.net/images/121212/qv6jt4dr.jpg
I would accept a little more overhead in favor of simplicity in creation.
#16
Still not sure what you mean by the 'ugly spots'. Are you referring to the dirt patch? Because that was intentional ;)
That said, you're definitely correct that art-wise, it does require more setup because you need to make the different iterations of models, may need to do a little manual cleanup in some spots when painting, etc.
So if you don't mind the performance overhead for being able to just go 'BAM THERE BE SOME GRASS', then you're totally right, nothing wrong with that.
I was just providing some input to an alternate technique I found does an excellent job and it's also a technique I've seen crop up for other teams using different engines and getting some insane results.
03/18/2013 (3:01 pm)
Performance is actually rather good with this setup, my machine happily chugs through that scene at 30fps, and my machine is far from the high-end. Also remember, that's actually really short grass in the screenshot I provided. Getting grass that's only a few inches high to look good with the ground cover requires a huuuuge number of elements, which is part of the reason I went for this approach. Tall grass fields are much easier to do with the groundcover system, as it doesn't need as many elements to pull off comparitively.Still not sure what you mean by the 'ugly spots'. Are you referring to the dirt patch? Because that was intentional ;)
That said, you're definitely correct that art-wise, it does require more setup because you need to make the different iterations of models, may need to do a little manual cleanup in some spots when painting, etc.
So if you don't mind the performance overhead for being able to just go 'BAM THERE BE SOME GRASS', then you're totally right, nothing wrong with that.
I was just providing some input to an alternate technique I found does an excellent job and it's also a technique I've seen crop up for other teams using different engines and getting some insane results.
#17
03/18/2013 (3:16 pm)
Does it work good with wind effects?
#18
I grabbed this image from the crydev thread I got the idea from(didn't want to hotlink, but there's a few guys using this technique, a perusal of the crydev.net asset forum should give more info if you want more details. Here's the thread I got it from specifically: www.crydev.net/viewtopic.php?p=979421#p979421
He also talks about using the same method to build terrain textures. Pretty clever deal overall):
ghc-games.com/TTRpublic/grass_lowpoly_objects_001.jpg
Like I said, not the only technique, but so far I've found it's easier to work with and can give results I can personally polish down, instead of attempting to tweak out the editor. If you just want to drop in grass and go, ground cover will work fine.
03/18/2013 (7:57 pm)
It works fairly well. I haven't spent a lot of time tweaking it, but as long as you do the same vertex color technique you'd use on trees, and calibrate the forest item's wind settings it works with the wind emitter about as well as the trees do.I grabbed this image from the crydev thread I got the idea from(didn't want to hotlink, but there's a few guys using this technique, a perusal of the crydev.net asset forum should give more info if you want more details. Here's the thread I got it from specifically: www.crydev.net/viewtopic.php?p=979421#p979421
He also talks about using the same method to build terrain textures. Pretty clever deal overall):
ghc-games.com/TTRpublic/grass_lowpoly_objects_001.jpg
Like I said, not the only technique, but so far I've found it's easier to work with and can give results I can personally polish down, instead of attempting to tweak out the editor. If you just want to drop in grass and go, ground cover will work fine.
Torque Owner Richard Ranft
Roostertail Games