Jump to content

Option to change pod orientation during flight


Recommended Posts

What I am humbly suggesting is the ability to change pod orientation (which way things look on the navball) from up to forward and vice versa. As someone who uses lander cans for rovers and fiddles with VTOLs, it would be really convenient to be able to switch this without having to resort to the docking port trick.

I also wouldn't mind seeing this as an IVA button for those of us who engage in Manley challenges (IVA only flight to Duna or Jool or wherever), but it isn't necessary.

Failing that, what about allowing docking ports and pod "control from here" options to be used in an action group? Perhaps this last one might be more acceptable to those who think my original suggestion is OP.

Link to comment
Share on other sites

As someone who's investigated this, I have to let you know this is not possible.

Because of how the co-ordinate system works in the game, the nav-ball orientation is locked to the orientation of the part that is your current "control from here" part. And the orientation of that part is locked to its 3D model, so changing the orientation would require rotating the model.

I looked into this for exactly the reason you are and having done so, I did go ahead and add "control from here" to an action group as the best work around I could come up with. It's part of the Actions Everywhere mod and the link is in my sig.

Hope that helps,

D.

Link to comment
Share on other sites

Sounds like a good idea. I often use mechjeb cases for this.

The suggestion to squad would be to extract this function into a new "control from here" part module that carries its own coordinate system. Give it a nameable button (so you can distinguish multiple orientations) that can be assigned to action groups.

Link to comment
Share on other sites

Sounds like a good idea. I often use mechjeb cases for this.

The suggestion to squad would be to extract this function into a new "control from here" part module that carries its own coordinate system. Give it a nameable button (so you can distinguish multiple orientations) that can be assigned to action groups.

Err, not really possible, at least in the current game.

The local co-ordinate system of a part is the co-ordinate system of the 3D model. To rotate that in flight is rotating the model and this can't be simply changed.

While technically possible, I would guesstimate that you are looking at rewriting about half of the code relating to vessel flight and control to change this co-ordinate system, that's how fundamental it is. (It's not just the navball, anything related to vessel orientation and control would be affected.)

D.

Link to comment
Share on other sites

Err, not really possible, at least in the current game.

The local co-ordinate system of a part is the co-ordinate system of the 3D model. To rotate that in flight is rotating the model and this can't be simply changed.

While technically possible, I would guesstimate that you are looking at rewriting about half of the code relating to vessel flight and control to change this co-ordinate system, that's how fundamental it is. (It's not just the navball, anything related to vessel orientation and control would be affected.)

All these functions just need some coordinate system to work. And ideally they all get it from the same location (like a pointer currentVessel.coordinateSystem). We already know that this pointer can be changed, since this is what 'control from here' does. So functionally this is quite a small change.

Of course this does not mean that it is easy or safe to do in the current KSP code. This is something you can't tell from the outside.

Link to comment
Share on other sites

The local co-ordinate system of a part is the co-ordinate system of the 3D model. To rotate that in flight is rotating the model and this can't be simply changed.

Ooooh! What if, what if...

We take a control pod, such as a lander can, and alter it just a bit thusly:

First we create a plane at 0,0,0 in relation to the lander can model and call it the orientation plane. Since the default orientation of the lander can is +y, we set the plane to a +y orientation. We then make the lander can model a child of the orientation plane and set it to also have a +y orientation.

00dPLQc.jpg

Then we create a 2 frame animation. The first frame has the orientation plane and the lander can model oriented +y. The second frame has the orientation plane rotated 90° so it is now +z while the lander can model is rotated 90° opposite so it remains +y.

uWv0BXr.jpg

Then all we need is a bit of code to trick the game into thinking it was a "control from here" click so that we don't explode the game since the sudden change in orientation would cause errors as the engine thinks things just instantly slewed 90°. Would this be doable?

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...