UpVector issues

In a previous post, I mentioned the spaceship I’m working on.

To cut to the chase, I was wondering if you could force the UpVector of an object to match its orientation.

That’s all <3

what does this mean

1 Like

If I’m understanding this correctly, you want to change an object’s orientation so its LookVector becomes what its UpVector previously was. The definitely can be done. It’s basically a 90-degree rotation.

If that is not the case, I think the answer is no. UpVector is a part of the orientation, in a way, so they can’t quite be the same, except perhaps at a few certain angles.

i’m not sure if i understand correctly :sweat_smile:
(still beginner to CFrame)

local space = workspace.space
--maintain orientation while move upward by 5 studs
space.CFrame = space.CFrame:ToWorldSpace(CFrame.new(space.CFrame.UpVector*5))

Say I rotate a part 45 degrees (Sloped). The UpVector usually doesn’t change at all.

I believe it to be the main issue with finishing full 360 turns.

(View my previous post for the context behind this question.)

That brings me to a dilemma.

It’s pretty hard to explain, but for whatever reason, there’s a dead zone. I’ll show you a quick demonstration of what I mean.

In this small demonstration, you’ll quickly realize a portion of the sphere surrounding the red block is missing.

The sphere represents the area that the block can maneuver, that blank space is the area it cannot.

This gives me a Segway to my question; how do I fill the gap? BodyGyros simply don’t do the trick, and it has become increasingly game threatening as maneuvering is essential.

If you need me to elaborate more, please ask.

I feel like this may have to do with the camera, believe it or not. If you aren’t scripting the camera itself, it will never be able to, let’s say, “turn upside-down.” It can never cross the Y axis, only rotate around it. Scripting the camera will bypass this limitation. Unfortunately I can’t say much else about that since I haven’t done it myself yet.