[sovled] Neutral dialogue target

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Kitsunelaine
Posts: 5
Joined: Wed Jun 08, 2022 1:07 am

[sovled] Neutral dialogue target

Post by Kitsunelaine »

Hello. The function of setting a "Conversation Actor" and a "Conversation Conversant " when you start a conversation is interrupting my ability to write cutscenes the way I want to write them. I do not want the script to change the camera position every single time a different character is speaking, I want to be able to control it dynamically in every single instance, and I do not want to have it follow something that is a child of something else (Say, if the two characters talking are riding in a car during a cutscene).

I have solved this *Partially* by setting an empty GameObject in the position where the car is and setting both the Conversation Actor and the Conversation Conversant to be that empty GameObject. However this has the side effect of screwing up the character sprite placement in the Visual Novel layout prefab-- It puts my two main conversation participants on the left of the screen. Whenever I have Name-Field empty narration it seems to take up the right panel.

My question is this:

Is the position of character sprites in the visual novel prefab reliant on the position of the camera relative to the target or the setting of two distinct gameobjects as targets? And if so *how do I disable this and manually control it*? This problem goes away if I set the Actor and Conversant to the models themselves rather than the target but I explicitly *do not want to have to do that* because I dislike the way that makes the asset behave. If I can do that without having it explicitly change the angle of the camera each time a different character speaks, that would be an acceptable solution.

Apologies if my description of the problem is confusing. It's a hard problem to describe.

Thanks,
Elaine


EDIT: Well that's silly. I wrote all this up and solved my problem like ten minutes later by duplicating my CameraTarget null object, having it be in the same place and setting both of them to the two slots. Ain't that the way it always goes, though? I'm going to leave this up in case someone has a better and less roundabout way of solving this, but for now I'm happy. (This was really bugging me, ahahaha.)
User avatar
Tony Li
Posts: 21977
Joined: Thu Jul 18, 2013 1:27 pm

Re: [sovled] Neutral dialogue target

Post by Tony Li »

Hi Elaine,

If that works for your needs, go for it.

Here are some alternative options, which I can explain in more detail if you're interested in using either of them:

1. Use the actor's and conversant's GameObjects for the conversation actor and conversation conversant. Use the Camera() sequencer command to control the camera. (See Cutscene Sequence Tutorials)

2. Or use Cinemachine, which is a nice camera control package available in Unity's Package Manager window. The Dialogue System has Cinemachine support.
Kitsunelaine
Posts: 5
Joined: Wed Jun 08, 2022 1:07 am

Re: [sovled] Neutral dialogue target

Post by Kitsunelaine »

Yeah going through tutorials would probably help some of this. I've been reading the documentation because I abhor everything being video tutorials these days!! Now, with that being said, I do have a VERY bad habit of just trying to brute-force everything until it works, so I'll try to avoid flooding this support forum with Q's, especially since I haven't paid for the asset yet! :P
Kitsunelaine
Posts: 5
Joined: Wed Jun 08, 2022 1:07 am

Re: [sovled] Neutral dialogue target

Post by Kitsunelaine »

I am actually having another issue, and instead of starting a thread I'm going to just use this one while it's here.

So, say I want scene-specific unique camera angles. How do I modularly set a new cameraAngles GameObject each scene? With the way I have it set up, the Dialogue Manager works perfectly in the scene itself, but if I load into it from the title screen, it fails to find the scene-specific cameraAngles object because Don'tDestroyOnLoad etc gets rid of the scene-specific settings.

I basically want to do this so I can code a little cutscene within a dialogue without having to go crazy on having just ONE prefab that contains EVERYTHING because that snowballs badly in a game with a lot of cutscenes. I can't rely on having everything be one-use either because rooms will be designed to only be seen from certain angles and such.

Cheers, and apologies if this question is answered simply elsewhere (i've spent the last hour or so scouring the documentation ahahaha...)
-Elaine
User avatar
Tony Li
Posts: 21977
Joined: Thu Jul 18, 2013 1:27 pm

Re: [sovled] Neutral dialogue target

Post by Tony Li »

Hi Elaine,

Use empty GameObjects in your scene for the camera angles.

If you've added a camera angle to the Dialogue Manager's Camera & Cutscene Settings -- such as "Closeup" and "Wide" in the default camera angles -- the Camera() sequencer command will use that angle's relative offset to the subject (e.g., the "Closeup" angle's relative offset is 1 unit back and 1.7 units up from the subject).

However, you can also specify the name of GameObject in the scene. In this case, the Camera() command will match that GameObject's position. DemoScene1 has a GameObject named "Terminal Camera Angle" that's a child of the Terminal GameObject. Terminal Child Angle is not in the Dialogue Manager GameObject's hierarchy. The "Terminal" conversation has a Camera() command that moves the camera to match the position of Terminal Camera Angle.
Post Reply