GetUp() and GetForward()?

*Decided to make a thread post since some people might be confused about it too, or I’m just ignorant. *

So I’m fooling with an entity which is a basic rocket and all I’m wanting it to do is apply velocity in the direction the model is “facing”. Which in this case, it spawns with the tip pointing upwards and GoUp() of course is the proper way of upwards. However, whenever you pitch/roll the entity, GetUp() seems to act odd. What I thought GetUp() did was return a vector of the upwards vector of the entity/model regardless of orientation, is this not right?

Pic of the model:

EDIT: Solved it. Was using PhysicsSimulate() and using SIM_LOCAL_ACCELERATION. Changed to SIM_GLOBAL_ACCELERATION and it worked as intended. Not 100% sure the difference between local/global acceleration.

what do you mean by “act odd”?

Pitch the entity by 90 degrees which would point it towards the player (in the photo), yet doing GetUp() will cause it to go towards the ground.

never had that issue, may we see an excerpt?


Oh geez, sorry for the size. =p

Edit: Herp, also, setting the angles of the entity with:

self:SetAngles( v:EyeAngles() + Angle( 90, 0, 0 ) )

and applying velocity with (using PhysicsSimulate):

self:GetUp() * 2

EDIT: Ok found the issue. Was using SIM_LOCAL_ACCELERATION at first, changed to SIM_GLOBAL_ACCELERATION and it works properly. Not entirely sure the difference between local/global so that’s likely why I didn’t understand.