Jump to content

Question/Request: Grass/Flora physics?


newbmaster3963

Recommended Posts

Given that at any part in the 'wilds' there may well be over hundreds of grass actors on the screen, how practical will this be?

 

For example: Characters running over grass will 'brush' it aside. Bodies and dropped equipment will flatten out areas of grass. Wind might gently blow through fields of grass. Spells that sends shockwaves could send ripples out...

 

How hard will it be to implement the 'elasticity' of grass?

 

How efficient is Havok?

 

I'm just brainstorming right now, but right now it seems feasible. There'll need to be model skeletons for the grass, custom physics configurations for them, and of course some 'efficiency' heuristics like not bothering with grass too far away to be seen and what not. Individually these seem pretty easy to think of solutions for.

 

What will need to be taken into consideration if we were to create something like this?

 

Link to comment

I'm trying to describe something from the life and sufferings user.

Havok is CPU-heavy.

For me it runs on 8 CPU cores, and also very good.

Then there Leutem where only 4 cores are available.

They sometimes - not all problems.

 

And then the exotics with 3 cores and user with only 2 cores.

In which it runs rather not so great - not again-even at all.

 

But in the end are 2 breasts. Let it be 10 female NPC in the cell - 20 breasts.

 

And now we're talking about grass?

For Death Valley may be ok ;) , but otherwise ..

In short, was just a touch of sarcasm, do not be angry, I think, more NO.

Link to comment

I don't think you need Havok to accomplish those kinds of effects. I'm running MGSO 3.0 on Morrowind with Vurts floral overhaul, and the grass there behaves similarly to what you're describing (it blows in the wind, gets pushed to the side as the player passes, etc)... despite having no Havok physics at all.

 

Albeit, it's rather stiff, and the entire tuft of grass will start to bend as soon as even a pixel of your hitbox (or whatever) collides - it's still a nice effect. If you have the know-how, you should be able to pull off a similar effect in Skyrim with minimal to no performance hit. Much more efficient than trying to havok all the grass.

 

(It's far more noticeable in motion, but you might be able to see what I'm talking about from this screenshot. Look at the grass on the left side my character's position)

post-209844-0-32948200-1390515581_thumb.jpg

 

Edit: Found a video that showcases what I'm talking about.

Link to comment

I don't think you need Havok to accomplish those kinds of effects. I'm running MGSO 3.0 on Morrowind with Vurts floral overhaul, and the grass there behaves similarly to what you're describing (it blows in the wind, gets pushed to the side as the player passes, etc)... despite having no Havok physics at all.

 

Albeit, it's rather stiff, and the entire tuft of grass will start to bend as soon as even a pixel of your hitbox (or whatever) collides - it's still a nice effect. If you have the know-how, you should be able to pull off a similar effect in Skyrim with minimal to no performance hit. Much more efficient than trying to havok all the grass.

 

(It's far more noticeable in motion, but you might be able to see what I'm talking about from this screenshot. Look at the grass on the left side my character's position, as well as how it bends in different areas to conform to the wind)

attachicon.gif6977108-1388747644.jpg

 

Can you explain the HOW TO PLEASE PLEASE FOR THE LOVE OF EVERY THING THAT IS HOLY PLEASE TELL US HOW TO DO THIS IN SKYRIM !

Link to comment

 

I don't think you need Havok to accomplish those kinds of effects. I'm running MGSO 3.0 on Morrowind with Vurts floral overhaul, and the grass there behaves similarly to what you're describing (it blows in the wind, gets pushed to the side as the player passes, etc)... despite having no Havok physics at all.

 

Albeit, it's rather stiff, and the entire tuft of grass will start to bend as soon as even a pixel of your hitbox (or whatever) collides - it's still a nice effect. If you have the know-how, you should be able to pull off a similar effect in Skyrim with minimal to no performance hit. Much more efficient than trying to havok all the grass.

 

(It's far more noticeable in motion, but you might be able to see what I'm talking about from this screenshot. Look at the grass on the left side my character's position, as well as how it bends in different areas to conform to the wind)

attachicon.gif6977108-1388747644.jpg

 

Can you explain the HOW TO PLEASE PLEASE FOR THE LOVE OF EVERY THING THAT IS HOLY PLEASE TELL US HOW TO DO THIS IN SKYRIM !

 

 

I have no idea how it was accomplished... sorry. You'd have to ask Vurt.

 

Also, just to be clear, it doesn't have any kind of real collision - so it doesn't crush when you fall into it or respond to "ripple" effects from spells. The only difference over vanilla Skyrim's grass movement that I can see is that grass will respond to wind speed and direction individually (or there's some trick to get it to look that way), and that it will "bend" away from the player as you move through it. There will still be clipping through your character model, but in tall grassy areas (or during ash storms), it's still a very nice effect.

 

I don't know if you could get a crushing effect in grass in general, just because of the nature of the grass as a model. It's not like each blade is individually rendered... they look like arrays of flat textured planes - and if you attached a skeleton to it and tried to deform it, it may look very weird. If you just crushed the whole model down, you'd probably end up with a much larger patch of crushed grass than what is causing the crush effect. It would be over-exaggerated and not subtle or natural at all. As for ripples - that may be more doable.... but I'd think you'd have to edit the projectile/spell itself to add a small localized "wind" effect eminating all directions from it's center that follows it as it travels, then vary it's intensity upon impact. How you would do any of this, I have no idea.

 

Link to comment

I merged the reference to the mesh to no effect i tried to even make grass with a collision to again no effect mind you i tried to use the box and tree and even copying over the tankerd collision and modifying it i don't think the Skyrim engine allows grass to have physics collision next test would be a animated grass collision

 

Link to comment

I think that you could revive grass with physics.

You would only have to provide each piece of grass with at least one bone.

Then you would have to give him the properties, such as weight, radius, etc.

And away you go.

 

Assuming you have someone who is writing a script for all the blades of grass in sight (or whatever), which mixes with the corresponding bones.

This should happen naturally in the amount of at least one cell.

That would be even conceivable, perhaps even feasible.

 

But then the next problem. Who has the computing power for it?

Ok - minus 40 degrees and a cluster of multiple servers.

 

Has not everyone, but at minus 40 degrees honest, but it is really shit. :P

 

Link to comment

So really using havok physics to accomplish swaying grass is HIGHLY IMPROBABLE as clp was trying to say.

Really don't try it, you will just ctd.

 

Not a single game TO DATE has 'fully enabled physics' enabled grass.

All the swaying grass you see in most games, including sinuev's video link is ANIMATED.

In fact most grass in games with moving grass is animated, this is because today's average consumer graphics are not capable of that type of computing.

 

That being said, if skyrim were run off CryEngine3 and using Nvidia Physx engine, then you could make 'pseudo - physics' grass like in Crysis 3, where the grass only collides 'in patches' with the player and the rest is all animated.

 

But let's not dwell on that :)

Link to comment

I don't buy it. . . you bunch of PANSIES!!! ENGAGE YOUR IMAGINATIONS!

 

Example. . . HiAlgoBoost for skyrim... google it.

 

what it does is use directx to reduce resolution when you turn in the game. That's the point when a low framerate is the most noticeable and high detail is the LEAST noticeable. I'm almost positive that Rockstar built this in to GTAV which would explain why it runs sooo smoothly on basically 7-8 yr old hardware.

 

What HiAlgoBoost does is give a creative answer to the question of a smoother image. The question is not "how do i increase my framerate?", the question is "how do I get a better experience"

 

So . . . the real question here is "Can HDT be used to make dynamic ground cover?"

 

Personally, I think so. The HiAlgoBoost principle can be applied here. You don't have to have to affect every visible vegetation. That would be a waste. 99.9997% of it would be sitting inactive. I don't know how that guy built the mod, but here's what I'm thinking he did.

  • give all characters a radius.
  • account for vegetation inside that radius.
  • use the distance between the character center and the vegetation center as a multiplier for rotating the vegetation.

 

This is made 'simpler' with Havok/HDT

  • characters already have collision radii, but also give them a 'detection' radius.
  • account for vegetation that enters the detection radius and attach a collision object.
  • apply collision as needed.
  • account for vegetation that leaves the detection radius and remove the collision object.
  • when there's zero vegetation in the radius for X amount of time, do a cleanup on vegetation.
  • have settings for
    -- checkboxes for affected vegetation (grass, bush, brush, etc)
    -- max number of affected vegetation
    -- size of detection radius.
    so the user can change processing requirements

I'll bet this could be done. Then you could customize the effect you want. . . for example, maybe I don't care about walking around, but if someone drops something? or maybe i don't care about weapons or walking, but dead people and animals.

 

the REAL problem with this mod is that it's not really for skyrim. I'd say it's a mod that would only affect about half of the land area.

 

Unless you're using Tropical Skyrim . . . that shit is lush as hell.

Link to comment

When I started adding bones to non actor types the game would just reject what I was doing. It would give that caution sign with the exclamation point on it. I tried using it for drapes and it would just crap itself. Some of the static meshes-not fully static anyway-like the ones you find on the hirothgar with the flags have a set number of bones, or just one root bone you parent the mesh to. Maybe the results would be nice, but it would probably cause more lag than anything you could get in an enb counterpart-dense or lush grass or whatever. I can't even imagine how many capsules would be colliding if every prefab of grass was to be hdt enabled -1-5 fps would probably be the norm under the best conditions. I thought about trees too, but it would probably be all bendy and twitchy like a spring.

Link to comment
  • 1 month later...

Maybe you could give the character you are playing as an attribute that basically fools the game into thinking there is a wind source always coming from the character. This wind source could be set at a constant speed so the grass wouldn't bend back while you walked through it. You could also set the wind radius very low to avoid giant patches of grass being moved. This is similar to the suggestion someone before me suggested on spells. I think this would be the most logical way to do a "collision" mod and would not require any modifications to the physics itself. It would also be minimal on performance hit as the in-game wind does nothing to performance.

Link to comment

the first thing that popped into my mind when i saw the title was what monstro said:

 

 

  • give all characters a radius.
  • account for vegetation inside that radius.

 

and i was like 'sneaking around in "collisione'd" grass and bushes would be amasing'..

than i read the post ...wind....

 

I'm trying to think of a way to make the grass be effected by... "nothing" but nothing comes to mind, im no expert.

 

maybe a bit of scripting magic could get it done? but i don't know...

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use