Jump to content

Pilot head movement tracking and timed programmed animations


Recommended Posts

Hey all, was just in a thought about the way IL2’s pilots have random/ repeated gestures like wiping visor and looking around...

 

I like to think the pilots head movement is also linked to a players head tracking....but I don’t see this clearly

 

however, I find always when I’m looking at my lead or wingman, they always have an animation going looking in a random direction.. even though my buddy says he’s looking right at me..

I’m wondering if we can get this changed to only player movements..

not only because it dulls the immersion but also maybe it takes up resources as well?  I mean you have eighty-four players on a map and then at timed intervals all pilots are making a random animation...

 

 the animations are well done and I suppose it’s suppose to bring a little life to the sim.. I appreciate the effort taken to make them smooth and lifelike... I just don’t think they are necessary...

 

thoughts?

 

 

Link to post
Share on other sites

I am not sure whether pilot's head position is being transmitted over network in multiplayer sessions. I know that at least in single player, you can make your pilot appear looking to the side, but it is also limited as even if you are checking your 6, the pilot's head will only rotate ~45 degrees.

 

I like the pilot's animations, they make the pilot model look more alive, but I would really like if there was a way to also show a more accurate head position of players in multiplayer.

Link to post
Share on other sites

If you require transmitting the x/y/z of your head movement it will consume more network traffic than your entire plane in a dogfight because you move your head always, even if you look straight the coordinates are still being changed constantly.

Sure you can implement a smart algorithm that will predict your next head location this way it will use less network resources, or do not transmit the head coordinates unles you moved your head above certein treshold since last coordinates update.
But is it worth the effort? There are other more critical issues that needs to be solved or improved IMHO (AI, Ground Attack pattern, Radio enchancements, Career improvements etc).

Edited by Zeev
  • Upvote 5
Link to post
Share on other sites
2 hours ago, Zeev said:

If you require transmitting the x/y/z of your head movement it will consume more network traffic than your entire plane in a dogfight because you move your head always, even if you look straight the coordinates are still being changed constantly.

That's simply not true. First of all, the same goes for an aircraft. You could attempt to predict the position and orientation of an aircraft given the current position and orientation, directional and angular momentum and control surfaces (and you'd likely do a good job), but the inputs to the control surfaces are also constantly changing so you'd need to transmit your data each frame anyhow. Probably *both* the raw positional data and the control surfaces, since you'd need both to make an accurate prediction of the plane position/orientation if the internet connection drops for a couple of milliseconds.

 

Secondly, head movement is bounded and not in need of huge accuracy (since it is purely cosmetic) whereas the maps are huge while accuracy is needed because a few millimetres can make the difference between a miss and a kill. Let's say you'd bound the head movement to 50cm each side of the head (which in a tiny cockpit is quite a lot). If you'd use a single byte for x, y and z each, you'd have an accuracy of 4mm. Regarding rotation, since our head is pretty limited in how far it rotates, again a single byte should be more than enough to obtain sub-degree accuracy. That's 6 bytes in total for position + rotation.

 

I would be *extremely* surprised if aircraft positions are not at the very least stored and transmitted in a float32 format. That's four bytes for a single coordinate, so 12 bytes for the entire aircraft position. That's twice as much as you'd need for the entire head, and then you've got just the position. Also, again since accuracy is not very important, you don't need to transmit the head data as often. Just a few updates per second and then LERP for the frames in between. So let's say 10 updates per second of 6 bytes each - that's 0.06 kbps. Hardly something to worry about.

 

No my friend, network resources are hardly the problem here.;) Neither are CPU/GPU as they're all pretty straightforward and low-level calculations. It will, however take a lot of time to implement properly, for IMHO questionable gains. Time better spent on other more pressing issues.

  • Like 1
  • Upvote 1
Link to post
Share on other sites
On 4/12/2021 at 7:24 AM, AEthelraedUnraed said:

That's simply not true. First of all, the same goes for an aircraft. You could attempt to predict the position and orientation of an aircraft given the current position and orientation, directional and angular momentum and control surfaces (and you'd likely do a good job), but the inputs to the control surfaces are also constantly changing so you'd need to transmit your data each frame anyhow. Probably *both* the raw positional data and the control surfaces, since you'd need both to make an accurate prediction of the plane position/orientation if the internet connection drops for a couple of milliseconds.

 

Secondly, head movement is bounded and not in need of huge accuracy (since it is purely cosmetic) whereas the maps are huge while accuracy is needed because a few millimetres can make the difference between a miss and a kill. Let's say you'd bound the head movement to 50cm each side of the head (which in a tiny cockpit is quite a lot). If you'd use a single byte for x, y and z each, you'd have an accuracy of 4mm. Regarding rotation, since our head is pretty limited in how far it rotates, again a single byte should be more than enough to obtain sub-degree accuracy. That's 6 bytes in total for position + rotation.

 

I would be *extremely* surprised if aircraft positions are not at the very least stored and transmitted in a float32 format. That's four bytes for a single coordinate, so 12 bytes for the entire aircraft position. That's twice as much as you'd need for the entire head, and then you've got just the position. Also, again since accuracy is not very important, you don't need to transmit the head data as often. Just a few updates per second and then LERP for the frames in between. So let's say 10 updates per second of 6 bytes each - that's 0.06 kbps. Hardly something to worry about.

 

No my friend, network resources are hardly the problem here.;) Neither are CPU/GPU as they're all pretty straightforward and low-level calculations. It will, however take a lot of time to implement properly, for IMHO questionable gains. Time better spent on other more pressing issues.

I suspect rigging the 3D models to do the kind of weird twisting needed to check six the way we do would be pretty complicated.

Link to post
Share on other sites
On 4/11/2021 at 11:58 PM, [APAF]VR_Spartan85 said:

the animations are well done and I suppose it’s suppose to bring a little life to the sim.. I appreciate the effort taken to make them smooth and lifelike... I just don’t think they are necessary...

 

thoughts?

 

 

I'm going to guess the animations are only playing when you are really close to them and you are looking at them. 

The game is fairly well optimized and lots of things disappear as soon as you are not looking at them, the pilot models being one of them (also some bomber turrets as another example). How do I know this? It can be tested in VR, where your plane's external camera is fixed (F2, F4) and you can still turn your head and see that a lot of things stop being rendered. 

In conclusion, your computer is likely not rendering the pilots or doing their annimatons unless you are looking at them from fairly close and it's not using resources for that.

 

Adding the real movement corresponding to the players head sounds like a huge undertaking for a tiny upside. Given that they are a small team and they already have a long list of features they want to introduce, i don't think this one would make it too high on the list.

  • Thanks 1
Link to post
Share on other sites
On 4/11/2021 at 8:58 PM, [APAF]VR_Spartan85 said:

not only because it dulls the immersion . . . . 

 

Not being able to see the head movement of your wingmen "dulls the immersion" whereas not being able to see your own arms and legs is like a foot long whatsit, with the words "You are playing a videogame" tattooed across it, repeatedly smacking your face.

  • Upvote 1
Link to post
Share on other sites

Funny thing.  When I am flying I am mostly looking out of the canopy, you know, because of those pesky enemy aircraft, or I'm taking quick glances at the instruments.  I'm certainly not looking for my own body parts, that's just unseemly.

 

Also, when I drive racing sims I always disable the driver's arms, they just look silly, and serve no purpose.  If you are driving your real car and are looking at your appendages, you are a danger to yourself, and all those around you.

Edited by BlitzPig_EL
  • Upvote 1
Link to post
Share on other sites
17 hours ago, RedKestrel said:

I suspect rigging the 3D models to do the kind of weird twisting needed to check six the way we do would be pretty complicated.

Depends on how fancy you want it to be. If you discard the head position data and just use the rotation and limit that to let's say 80 degrees to either side (approximately the rotation limits of the human head), then you just need to transform the rotation data from the head tracker's coordinate system to the one used by the head bone. That's a single matrix multiplication.

 

However, if you want the head position to be accurately represented as well, you will need to do some more complicated calculations and probably some inverse kinematics too.

 

If you're not interested in an exact representation of the head position but do want the pilot's head to be able to move more than 80 degrees to either side and look somewhat natural (with shoulders that rotate along with the head), then you could solve that by blending the default pilot position with a rotated position to the left and right, depending on the head angle. Would only need some simple logic and rigging, and would be *much* faster than inverse kinematics (and probably just a tad slower than the current system).

 

My opinion remains the same: there's no real technical reason why it isn't possible and an experienced programmer would likely be able to come up with a working proof of concept in only a day or so (depending on the complexity and existing features of the IL2 engine). Fleshing it out and solving all the edge cases, however, will take a lot more time and personally I'd prefer it if they'd spend that time on something else.

Edited by AEthelraedUnraed
Link to post
Share on other sites
50 minutes ago, BlitzPig_EL said:

Funny thing.  When I am flying I am mostly looking out of the canopy, you know, because of those pesky enemy aircraft, or I'm taking quick glances at the instruments.  I'm certainly not looking for my own body parts, that's just unseemly.

 

Also, when I drive racing sims I always disable the driver's arms, they just look silly, and serve no purpose.  If you are driving your real car and are looking at your appendages, you are a danger to yourself, and all those around you.

Do you fly in VR?

In VR it's crazy noticeable. the few modules in the other sim that have pilot models are just great....also Elite Dangerous but that's a much simpler interface to do it in.

Anyway, it ain't gonna happen. Jason said he would like to add pilot models but it's way too much work and I get that.

Link to post
Share on other sites

I fly vr, I can’t any other way :)

I can see that perhaps it’s not that important for immersion for some,

we all vary in what we prefer to feel connected to other players in game.. 

 

I don’t need a body to feel connected to the plane I’m in..  so when available I turn it off..

 

not to bring up the other sim.. 

but flyin as a RIO/pilot, formation in parade, or chatting on the deck before launch..   makes a difference for me..

 

 

It’s not priority for me, just my opinion

Link to post
Share on other sites

I was playing DCS with a friend once and noticed that when he said he was looking at me, I saw his pilot's head also looking at me... thought that was pretty cool.

 

I know it doesn't actually work this way, but a couple times when I was getting shot at from behind, by natural habit, I'd sit all the way back and duck down in my seat as if I'd have the full armor protection in a plane like a Bf109.... it'd be pretty awesome if that actually worked!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...