I think If you unlock the z-axis position it should fly.
You have applied rotations to the model, so your rocket’s z is now pointing up (or down). If you click here
and change it to ‘Local’ you should see that.
But, you don’t necessarily want to unlock the axis. What you want to do is rotate the model without affecting the rotation. To do that, you need to remove the rocket’s visual (model) from the game object, and make it a child of the rocket.
Simple way:
- Create a new Game Object and call it ‘Rocket’. Make sure there is no rotation on it.
- Drag your model onto this game object in the hierarchy. You want something like
Scene
|- Rocket
|- Model
- Rotate only the model the way you want it. The rocket must still have 0 rotation
- Add a rigidbody to the rocket, not the model
- Add a collider to the rocket, not the model
- Adjust the collider to match the rocket
- Add your movement script to the rocket, not the model
- Try again
Another way:
- Remove these two components (
MeshFilter
and MeshRenderer
)
- Reset the transform’s rotation
- Drag your model onto this game object in the hierarchy. You want something like
Scene
|- Rocket
|- Model
- Rotate only the model the way you want it. The rocket must still have 0 rotation
- Try again