Hi Tony,
We noticed that the camera always returns to its original pre-conversation position after any conversation ends.
Is there any way to not have this happen? Thanks.
Camera always going back to original position - any way to turn this off?
-
- Posts: 34
- Joined: Mon Jul 02, 2018 5:00 pm
Re: Camera always going back to original position - any way to turn this off?
Hi,
That's by design, so conversations don't mess up non-conversation gameplay camera positions. If you want to move the camera and have it stay there, use the MoveTo() sequencer command instead of the Camera() sequencer command.
That's by design, so conversations don't mess up non-conversation gameplay camera positions. If you want to move the camera and have it stay there, use the MoveTo() sequencer command instead of the Camera() sequencer command.
-
- Posts: 34
- Joined: Mon Jul 02, 2018 5:00 pm
Re: Camera always going back to original position - any way to turn this off?
Hey, thanks for the quick response but not sure I fully follow. Let me be more specific as to what's happening now:
1) Conversation starts with camera at point A.
2) We apply a Zoom2D in, then back out to point A(not sure if that matters).
3) We pan to point B using something that directly transforms the camera's position (similar to MoveTo).
4) End conversation, which auto-jumps back to point A (we don't want this, need it to stay at point B).
We are not actually using Camera(), but instead our own custom command called PanTo. All it does is directly transform the camera's position, I would imagine it's similar to what MoveTo is doing, it just also does a nice smooth acceleration curve and such. Is there anything special MoveTo is doing to "keep" it there? Thanks.
1) Conversation starts with camera at point A.
2) We apply a Zoom2D in, then back out to point A(not sure if that matters).
3) We pan to point B using something that directly transforms the camera's position (similar to MoveTo).
4) End conversation, which auto-jumps back to point A (we don't want this, need it to stay at point B).
We are not actually using Camera(), but instead our own custom command called PanTo. All it does is directly transform the camera's position, I would imagine it's similar to what MoveTo is doing, it just also does a nice smooth acceleration curve and such. Is there anything special MoveTo is doing to "keep" it there? Thanks.
Re: Camera always going back to original position - any way to turn this off?
No, MoveTo doesn't do anything special.
Zoom2D is the 2D equivalent to the Camera command. Both commands put the conversation into a mode where it records the camera's position at the start of the conversation and restores it at the end.
In addition, if you've assigned a camera GameObject or camera prefab to the Dialogue Manager's Camera & Cutscene Settings > Sequencer Camera field, the conversation will use an instance of it for all Zoom2D commands. When the conversation ends, it will deactivate the instance. Also, if no camera is tagged MainCamera when the conversation starts, the conversation will create a temporary MainCamera in case it encounters Zoom2D commands.
Here are two suggestions:
1. Assign a different camera or prefab to the Dialogue Manager's Sequencer Camera field. At the end of the conversation, move this camera and the scene's main camera to the same final position. When the conversation deactivates the sequencer camera, the main camera will be in the same position so it will look like nothing changed.
2. Or make a replacement for Zoom2D by copying SequencerCommandZoom2D.cs. Comment out: and any lines that reference sequencer.sequencerCamera. Replace them with code to move your own camera instead. Then use this replacement command instead of Zoom2D.
Zoom2D is the 2D equivalent to the Camera command. Both commands put the conversation into a mode where it records the camera's position at the start of the conversation and restores it at the end.
In addition, if you've assigned a camera GameObject or camera prefab to the Dialogue Manager's Camera & Cutscene Settings > Sequencer Camera field, the conversation will use an instance of it for all Zoom2D commands. When the conversation ends, it will deactivate the instance. Also, if no camera is tagged MainCamera when the conversation starts, the conversation will create a temporary MainCamera in case it encounters Zoom2D commands.
Here are two suggestions:
1. Assign a different camera or prefab to the Dialogue Manager's Sequencer Camera field. At the end of the conversation, move this camera and the scene's main camera to the same final position. When the conversation deactivates the sequencer camera, the main camera will be in the same position so it will look like nothing changed.
2. Or make a replacement for Zoom2D by copying SequencerCommandZoom2D.cs. Comment out:
Code: Select all
sequencer.TakeCameraControl();
-
- Posts: 34
- Joined: Mon Jul 02, 2018 5:00 pm
Re: Camera always going back to original position - any way to turn this off?
Hey Tony,
We have discussed and decided that using a segregated sequencer camera from the main is probably a wise thing to do, for other reasons than just this too. Thanks! Will proceed with that going forward.
We have discussed and decided that using a segregated sequencer camera from the main is probably a wise thing to do, for other reasons than just this too. Thanks! Will proceed with that going forward.
Re: Camera always going back to original position - any way to turn this off?
Sounds good. Give it a quick test to make sure it meets your needs before going into it 100%. I think it will be a good approach though.