In my scene are two PlayerStart objects. One at the x-Value 163, the other with the x-Value 186.
If I start the scene from one or the other and trigger a certain camera, the results are identical. The camera x-Value is 255.
If I start the scene form the PlayerStart at x=186, teleport my character to the x-Value of the other PlayerStart (163) and trigger the camera now, the x-Value becomes 204. It changed.
Am I overseeing something? I attached screenshots of the inspector views.
Comments
Specifically, I need to know if there's any delay in the scene before the teleport occurs. If there isn't, test what happens if you insert a pause Action beforehand.
Check that you've assigned one of your PlayerStarts as your default, in the Scene Manager. I also don't recognise those P/R/S buttons in your Transform component - could that be another asset that's conflicting?
Please try my suggestion from my previous comment: insert an Engine: Pause game Action before the teleport, so that there's a delay. It's not clear if this is because this runs as soon as the scene loads or not.
If you can package up the scene in it's bare-bones form (e.g. without AC, without any unnecessary graphics / sound) that I can recreate the problem with, then you can PM it to me and I will take a look.
This happens because when camera is following the player, it does it all the time. And if there is an offset in camera position relative to player position (which pretty obvious will be there since camera is usually set somewhere else), this offset will remain constant. So if you teleport your player 50 units to the right, camera will teleport 50 units to the right.
It can be avoided by placing all the cameras in starting location. When you teleport the player somewhere, cameras will follow. Point to have separate camera for each screen (I'm talking about 2d right now, but pretty sure it's the same for 3d), so you can fine-tune constrains position for each camera separately.
It wouldn't hurt however to have cameras reset exactly to player position when switched to to. Or even better, disable player tracking if camera is not active.
Anyway, this have been waiting for souple years aparently, it can wait couple months more. Have a great vacations, Chris!
The 3D GameCamera type has an option named Use default PlayerStart? under it's Target settings (which is enabled by default). This option causes any offsets etc to be made relevent to the scene's default PlayerStart, which has a constant position, rather than the player's starting position, which will vary based on e.g. previous scene.
I'm confused about the exact issue you're having, as I never encountered it myself (I never recieved any scene to test). If you can provide clear steps or a test package for me, then I can have a look at it properly.