Orientation changes on end of interaction

Mr. Fusion 3 years ago updated by Tyler Owen (Lead Developer) 3 years ago 1

Since you mentioned you are working on some control changes currently, and I couldn't find mention of this after trying a few search terms...

In a considerable amount of cases (I'd estimate maybe one third of them) when you finish interacting with something (hab status console, inventory access hotspot, system status console, system maintenance area, etc.), but more commonly in the case of the hab storage hotspots and the status screens of the external systems, the heading and pitch of the player character's orientation jumps to some random values. It doesn't feel like some kind of buffered input being applied, as there is no transition, the view doesn't "move" to the new position, it "snaps" to it immediately, and it also can happen when you are very careful not to make any excess input while in interaction mode (datapad up). The amount of change in both values seems completely random, sometimes it's just a few degrees, but it can also be up to 180 degrees in heading and 90 degrees in pitch, which is really disorienting when happens, especially the heading.


I have experienced this, though not to the frequency that you've mentioned here. The difficulty is that the FPS controls are one of the few legacy Unity plugins that I'm utilizing and I've heavily modified their code over the course of development. I'm sure it's probably related to some change I made to their code, but it's hard for me to pinpoint the exact cause, especially since it happens so infrequently for me and I can't seem to find a way to reliably recreate the issue. It feels completely random. I'm guessing it has something to do with rotation quaternions being translated to euler angles and vice versa. Quaternions are the bane of my existence.

Yes, ever since the game came out on Steam, I've been constantly on the lookout for anything that may be the cause or contribute to this, but as you said, it feels totally random, there was absolutely no pattern I could identify nor any control action that seemed to make it happen more or less often.

The frequency of occurence is also random, sometimes I hardly get it at all over a 2 hours long play session with similar frequency of interaction as in other sessions, while other times it happens a lot, like in several interactions in a row right after another.

That's also why I didn't post about it before, non-reproduceable issues being practically impossible to track down and fix, and this one appears to be such.

I wonder if switching to another, maybe user written/improved module/plugin for the same purpose would be a viable way to test or attempt to solve this. In a rather complex Unity game I have followed the development of, they had to do that a few times to address issues they couldnt fix by sticking to what they've been using until then (mostly being stock Unity modules, as I recall), even tho it meant an extensive rewrite of a lot of related code to accomodate the new module they switched to.