CameraType 5: Custom - Does anybody know of a way to change the default direction from which the camera looks at Focus?

When I load my character into the game, the camera will always begin facing in the same direction.
For visual clarity, I have placed a tree in the place as a landmark.

What I’d like, however, is for the camera to be facing away from the tree when I enter the place, as visualized here.

I am assuming this will require messing with the core camera scripts, so I went diving into them to see if I could find the variable that sets it to default to this angle, however, I couldn’t seem to find such a thing.

Has anybody run into the situation before? I know I could just build a custom camera controller, but this seems like it’d be a really basic modification to make.

Yeah probably. I am curious tho why would you want to do such a thing? Also I am taking a look to the core camera scripts to see if I can find anything.

Rotate the Spawn part to face a different way.

Rotating the SpawnLocation works if you want the camera to still be behind the player. Otherwise you can take a look in the ClassicCamera module in the PlayerScripts. The relevant piece of code is where overrideCameraLookVector is calculated. You could change this to always be facing opposite the players humanoid robot part.

2 Likes

How would this be handled when the focus part is something that was instanced in by a script, as opposed to created through a spawn location?

Yeah probably. I am curious tho why would you want to do such a thing?
It’s for a project with a completely custom character and movement system.
I instance in a model with a part in it and make that model the focus of the custom camera. Then when you press the keys on your keyboard CFrame moves the character. Works just as I like, except for one problem.

This is what I’d like things to look when I enter the game

However, it looks like this instead, because it’s facing from the opposite direction and thus clipping through the building.

UPDATE: While writing this post, somebody in a Discord community was able to work out a solution for me.
For the sake of future users with the same problem, here’s what I did.

workspace.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame * CFrame.Angles(0,math.rad(180),0)

3 Likes

If you have found the solution then please make sure to mark this thread as solved.

2 Likes

Thanks for the reminder, totally forgot haha.

1 Like