Smoke effects turning with head movement...

You are correct, cockpit smoke at one glorious stage was fixed for head rotation though not for turning.
In Zero G, wouldn't the smoke conserve momentum with the ship's trajectory, and dissipate accordingly? It shouldn't follow the pilots head movement, but I'm not sure whether it should rise either, seeing as there's no atmosphere to dictate a pressure gradient and therefore no preferred direction.
 
In Zero G, wouldn't the smoke conserve momentum with the ship's trajectory, and dissipate accordingly? It shouldn't follow the pilots head movement, but I'm not sure whether it should rise either, seeing as there's no atmosphere to dictate a pressure gradient and therefore no preferred direction.
Ideally volumetric smoke would give us a more realistic movement for our outgassing cockpit/bridge surfaces, but would give our computers a hefty kick in the hertz.

The flat sprites we have are a cheaper method but need to stay square on to our view or we start to see them side on. Having them turn to keep facing us doesn’t look too bad in VR when we look left/right, but having them also rotate when we wobble our heads looks naff to me.

It was definitely fixed at one stage, I promise I’m not blowing (non-rotating) smoke up anybody’s exhaust :)
 
Okay, so I'm overheating during a scoop run and am reminded of this issue so I go to post it on the issues tracker, quick search first to make sure I'm not posting a duplicate and lo'! I find somebody has posted it and it has been marked as invalid with the following response:



Ermmm.... no FD, it's a bug you introduced this year, it was fine before the FSS update whichever that was.

https://issues.frontierstore.net/issue-detail/295

Annoyingly it has been in VR since I first got it in Sept 2016. If they fixed it I never noticed the fix. It happens in other games I play in VR. I assumed it was a tech limitation?
 
The particle system uses a quadrilateral that is always facing the viewer.

It does not consist of depth vertices (it does have a z-plane depth attribute to enable occlusion) and is thus effectively a single plane sprite bound to an underlying mesh emitter - hence mitigating texture mapping to a fully vertexed object.

This technique has been unilateral for years in video game rendering as the calculation grunt required for a 3D particle system is colossal.
 
Last edited:
The particle system uses a quadrilateral that is always facing the viewer.

It does not consist of depth vertices (it does have a z-plane depth attribute to enable occlusion) and is thus effectively a single plane sprite bound to an underlying mesh emitter - hence mitigating texture mapping to a fully vertexed object.

This technique has been unilateral for years in video game rendering as the calculation grunt required for a 3D particle system is colossal.
In principle this should make simple rotation in the XY plane, in response to a tilted angle of the head, really simple to implement.

And I disagree, with reservations, re. your point about this approach being unilateral. Unreal and Unity engines have emulated volume smoke/fog effects for awhile including computation in the direction of the Z axis, perpendicular to the viewing frustrum.
e.g.:
https://docs.unrealengine.com/en-US/Engine/Rendering/LightingAndShadows/VolumetricFog/index.html
 
Last edited:
Many games support advanced rendering techniques as options (ray tracing, tesselation, volumetrics) but they are fundamentally detrimental to the experience as they skyrocket frametime and introduce truckloads of latency.

That is why the simple planar rotation technique is so widely used.

Unreal struggles without volumetrics in dual pass stereo rendering let alone with them. Add in a complex particle engine to the mix and it grinds to a halt.

It relies on temporal anti aliasing that heavily convolves scenes and requires a magnitude of order in pre distortion frame buffer size to deconvolve it sufficiently for current VR per eye resolutions.

While the API supports single pass stereo (which helps mitigate the latency) very few games utilise it.

Carmacks latency mitigation analysis : https://danluu.com/latency-mitigation/
 
Last edited:
Back in my day they were called "billboards" and you could lock some of the axis of rotation in code iirc to help avoid what we see in game currently (i.e. locking them to not roll with the camera). Not sure why they are not being used like this...

As pointed out by HeavyGroovez, they are incredibly "cheap" and can be used to create almost particle/volumetric like effects e.g. spew lots of them out the back of a missile as it flies for smoke trails, or build up clouds by using lots of small "puffs" (you can even get them to shade each other)...
 
Hi, I can confirm this was fixed at some point for cockpit smoke, and broke again later. My guess is they do some particle types via pixel shader and can't figure out how to get the VR rotation angle in.

If it is any consolation, DCS has the same issue with cloud particles up close. They use flat billboards for distant clouds (works fine) but the close clouds rotate with your head (or rather, stay static when you tilt your head sideways)

Since headset tilt applies the same to all particles, I dunno why this is so difficult. I even tried this out using pixelshaded volumetric clouds in unity with my own shader and that seemed to work fine. You still get some perspective issues when yawing left and right, but that is the same as when you yaw your ship.
 
I've been noticing this with the initial cloud sprites for deep core mining blasts, right when the asteroid has just split, before it fades those out and switches to a volumetric sort of thing. I don't usually complain about immersion breaking stuff, but that always looks really jarring to me if I roll my ship even slightly. I get that performance is an issue, but hopefully they can find way to show a similar effect without it rotating with my viewpoint.
 
Top Bottom