Jump to content
Elcoo

Rendering grass at long distances: My thoughts about it

Recommended Posts

Up-voted. This should be one the few feature requests that actually gets picked up by BIS without a doubt.

WOOHOO! It has been assigned to dazhbog!

Share this post


Link to post
Share on other sites

Your first post is there but no we can't add posts out of actual chronological order.

Share this post


Link to post
Share on other sites

I have to agree, that seems like the best solution i've seen so far. Even though If you have a ghillie suit you have more a disadvantage than a advantage, since the Alphalayer composition doesnt take the suit into account, and make you even more visible if you wear a ghillie suit.

I wonder what you think about highering the overall opacity of the player in ghillie suit at distance, depending on how much of your body is covered by grass. (This could be overpowered pretty fast, an adequate amount must be found. Perhaps 15-20% max global opacity)

edit: Sure, there is no ghillie suit in arma 3 right now, but im pretty sure it will be added in future.

Edited by mrgreywater

Share this post


Link to post
Share on other sites

I like this so much better than models being invisible even when you know their location because they sink into the ground. I always, always hated that shit.

Share this post


Link to post
Share on other sites

@mrgreywater: Interesting thoughts about the ghillie suit, I guess you're right, there'll have be a lot of tweaking to get it all balanced correctly. The good thing is, compared to the current "sinking" technique there are more possibilities to tweak. Whereas you could only change the depth a soldier would sink into the ground with the sinking method, you could change alpha, amount of grass sticking up, height of the grass; you could even make the grass sway in the wind by multiplying the UV coords with a wave texture.

Share this post


Link to post
Share on other sites

I like this idea, but i think it has one big problem: Movement.

If the Alpha layer isnt glued to the soldier when he moves, it will start flickering as hell which will make spotting a lot easier than it should be. Glueing it on would look very werd as well as soon as theres movement involved.

Share this post


Link to post
Share on other sites

@Kavoriken: The grass layer has to be a seemless tileable texture. Using a combination of global coords and the position of the soldier you are able to create UV coordinates that create the illusion of a fixed grass layer. It would be hard to explain this in a simple post, but I'm sure the developers know what I mean. There will be no flickering whatsoever, but yes spotting will be easier if the target is moving, which is only realistic.

Share this post


Link to post
Share on other sites

Wouldn't this approach give problems with how texures and grass are is the game right now, eg. in the distance you dont see the grass you only see the ground texture so using the grass texture for as the overlay on the soldier wouldn't fix the problem.

or would you greate the alpha layer based on the grass and then render the ground texture instead of the grass onto the soldier?

Share this post


Link to post
Share on other sites

Thank you for this, Elcoo. This seems like a great idea and you did a good job of explaining it for the layman. I really hope we see something like this implemented, at least by one of the big mods if not in official.

Share this post


Link to post
Share on other sites
Wouldn't this approach give problems with how texures and grass are is the game right now, eg. in the distance you dont see the grass you only see the ground texture so using the grass texture for as the overlay on the soldier wouldn't fix the problem.

or would you greate the alpha layer based on the grass and then render the ground texture instead of the grass onto the soldier?

No, this technique wouldn't change the fact, that geometry grass cannot be rendered all over the terrain. It's basicly a faked illusion, as is the current sinking method and many other realtime techniques. It will still do it's job: Hiding distant soldiers in deep grass.

Share this post


Link to post
Share on other sites

Great great great great work!

This is exactly how it should be!

Also - for the alpha layer one could easily take the outlines of the grass thats allready used at that place.

Since the depth at which you sink is allready depending on the area you are laying on - there is definately a way to make the alpha dependable of that too.

I made a long comment (and of course gave a thumbs up)

I am adding my comment here for integrity

Very important:

First:

Since there are different kinds of gras - there should be different kinds of this alpha too!

Test it youself - the gras between the airfields is the highest I have found on the map. THIS gras should even be able to block the whole soldier!

Think about it: If you lay down in that gras you are:

1. not visible to a person nearby

( example pic ) the farer you go away - the harder it should be possibly to see you.

2. you yourself are NOT ABLE TO SEE ANYTHING ELSE TOO. So theres no way to abuse this. Its just how camo would work in reality too.

Second

I see another problem:

if you see the person lying in the gras from above - how to hide him?

Solution: Id say - for views from above - keep the current system of transitioning him into the ground.

Third

Ghullie suits

They are meant to be invisible at distance.

There is no "this could be abused".

Its simply realistic that you are not able to see a ghillie suit in the distance. That should be the status in a military simulation as Arma is.

For the ones thiking of too many snipers in the MP then: The server admins are able to allow or disallaw certain camos.

Fourth

Some testing with the gras delievered some needed tweaking: In the current state the soldiers begin to transition into the gras at ]too far distances.

It is like this(note that I have gras render distance on max):

1. You cant see the soldier in the gras

2. You move backwards - the soldier becomes good visible on the ground since the gras disappears.

3. The soldier starts to transition into the ground.

The alpha mask should apply as early as needed to avoid this situation.

oh btw: You can allready see

Best regards!

Edited by NordKindchen

Share this post


Link to post
Share on other sites

Yes. Love the approach, and i seems so obvious a solution after the fact! Very pertinent comments from NordKindchen too.

It also appears to hand itself so well against the hurdles the issue poses.

Props to the OP :)

Edit:

Another thing that influences the camouflage effect is the high texture resolution (color frequency) of the model against (currently?) lower resolution terrain textures. Hoping for some noticeable increase in the terrain which will just add over such an implementation. Nice prospects indeed.

Edited by gammadust

Share this post


Link to post
Share on other sites

Wouldn't you just have to look for grassy bits in the distance and know someones there? And if they crawl you see a patch of grass moving? Would also like a better way even though i think what we have is "ok". Well better than nothing at all. :)

That game i forgot what it was called added grass within the scopes view only. Seemed to work great although im not sure it would work (or be too heavy) in our engine.

Share this post


Link to post
Share on other sites
Wouldn't you just have to look for grassy bits in the distance and know someones there? And if they crawl you see a patch of grass moving? Would also like a better way even though i think what we have is "ok". Well better than nothing at all. :)

That game i forgot what it was called added grass within the scopes view only. Seemed to work great although im not sure it would work (or be too heavy) in our engine.

Novalogic Combined Arms.

Share this post


Link to post
Share on other sites
That game i forgot what it was called added grass within the scopes view only. Seemed to work great although im not sure it would work (or be too heavy) in our engine.

I've always wondered why you don't see that more in games. This is an issue that crops up in almost every shooter with decent scale. It seems like it shouldn't be hard to implement or be a big FPS hit. My FPS more than doubles when using optics already, use some of that spare power! Obvious disclaimer: I am not a programmer, I'm just talkin out of my butt.

Share this post


Link to post
Share on other sites

This feature has been assigned to dazhblog on the feedback tracker - what does that mean? Would love to see this method replace the sinking soldiers.

Share this post


Link to post
Share on other sites
I've always wondered why you don't see that more in games. This is an issue that crops up in almost every shooter with decent scale. It seems like it shouldn't be hard to implement or be a big FPS hit. My FPS more than doubles when using optics already, use some of that spare power! Obvious disclaimer: I am not a programmer, I'm just talkin out of my butt.

the problem with that, performance issues notwithstanding, is that you can still see the enemy in normal view and then acquire them in scope view, essentially negating the point of that feature. with this proposed feature, the enemy will be camouflaged in all view and zoom levels.

Share this post


Link to post
Share on other sites

I would like to make some addition to the method suggested by Elcoo. I propose to not use the prerendered texture/layer for the alpha blending. Instead the grass geometry should actually be rendered in some radius of the soldier (10m for example) or infront of him, however it should be rendered not directly to the display, but to some texture/layer, which would then be used for alpha blending of the soldier.

This way the alpha blend texture will automatically be consistent with the real grass growing near the soldier and there wouldn't be a need to make these textures in advance.

As of the performance, it would demand, i think, not significantly more resources than the original Elcoo method, and the demand would grow only linear with respect to the number of soldiers, which seems to be fine.

Share this post


Link to post
Share on other sites
the problem with that, performance issues notwithstanding, is that you can still see the enemy in normal view and then acquire them in scope view, essentially negating the point of that feature. with this proposed feature, the enemy will be camouflaged in all view and zoom levels.

But imagine if the two were used together! Seems perfect to me.

Share this post


Link to post
Share on other sites

I run singleplayer with flying sparks on my computer and things like this wouldn't have much of an impact. I like this idea

The one thing that lagged me horridly was spawning an army shooting at eachother across mountains.. that brings down the lag hammer.

Share this post


Link to post
Share on other sites
I run singleplayer with flying sparks on my computer and things like this wouldn't have much of an impact. I like this idea

The one thing that lagged me horridly was spawning an army shooting at eachother across mountains.. that brings down the lag hammer.

"Lag" is most commonly used to refer to internet latency. What you're describing is an FPS drop. Just FYI.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×