Remove zoom-in on characters

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
cygnusprojects
Posts: 2
Joined: Tue Sep 09, 2014 2:47 am

Remove zoom-in on characters

Post by cygnusprojects »

Hi,



When starting a conversation the camera always zooms-in on the speaker. Is there a way to not do that? We are building a top-down game and switching to face zoom-in does revail things the gamer shouldn't see ;-)



We are going for the JRPG look with portraits besides the speaker iso a zoom-in on the speaker.



Any idea on how to achieve this?
User avatar
Tony Li
Posts: 22098
Joined: Thu Jul 18, 2013 1:27 pm

Remove zoom-in on characters

Post by Tony Li »

Hi,



On the Dialogue Manager object, change Display Settings > Camera Settings > Default Sequence to:



Delay({{end}})



or



None()



The default value ("Camera(default)...") moves the camera to each speaker's default camera angle, as you described. The sequence "Delay({{end}})" simply delays without touching the camera.  And the sequence "None()" goes straight to the player response menu or next line of dialogue (whichever is next).



For your dialogue UI, you'll want to build a UI or use a prefab that has NPC portrait images. Note that you can use animated portrait images, too.
cygnusprojects
Posts: 2
Joined: Tue Sep 09, 2014 2:47 am

Remove zoom-in on characters

Post by cygnusprojects »

Hi,



Thanks again for the tip and tricks. Delay does the job perfect.
magalter
Posts: 6
Joined: Fri Sep 26, 2014 7:48 am

Remove zoom-in on characters

Post by magalter »

I have another question: Is there a way to prevent the SequencerCamera from spawning into the scene? It troubles with other cameras and it adds an unnecessary AudioListener.
User avatar
Tony Li
Posts: 22098
Joined: Thu Jul 18, 2013 1:27 pm

Remove zoom-in on characters

Post by Tony Li »

Hi,



If you don't need a separate camera for sequences, you can leave the Dialogue Manager's Sequencer Camera field unassigned. It will just use the current main camera in this case.



Otherwise, you can leave the Sequencer Camera GameObject (or prefab) inactive.  When the Dialogue System needs to use it, it will instantiate a copy and activate it.
magalter
Posts: 6
Joined: Fri Sep 26, 2014 7:48 am

Remove zoom-in on characters

Post by magalter »

And how does it recognize the main camera? When I assign a camera that doesn't do something it will instantiate one camera for every dialogue I start. This isn't very cool because it will fill up the scene with cameras. When I assign no camera it creates only one sequencer camera but that troubles with our scene view and what is way more bad: It has an additional audio listener! So a way to deactivate the whole camera feature would be really nice.
User avatar
Tony Li
Posts: 22098
Joined: Thu Jul 18, 2013 1:27 pm

Remove zoom-in on characters

Post by Tony Li »

These steps should get it working:



1. Tag your main gameplay camera GameObject and your sequencer camera GameObject as "MainCamera".



2. Deactivate the sequencer camera GameObject.



3. Assign the sequencer camera GameObject to the Dialogue Manager's Sequencer Camera property.







When a conversation starts, the Dialogue System:



1. Deactivates the main gameplay camera GameObject.



2. Instantiates a copy of the sequencer camera GameObject.



3. Activates the sequencer camera GameObject instance and positions it at the same place as the main gameplay camera GameObject.







When the conversation ends, the Dialogue System:



1. Deactivates the sequencer camera GameObject instance.



2. Activates the main gameplay camera GameObject, and positions it at the same place as the sequencer camera GameObject instance.



3. After 1 second, destroys the sequencer camera GameObject instance.







So you won't accumulate multiple sequencer cameras.


Post Reply