Hi Tony. I've got a couple of questions about how to use the visual novel framework and how to control which actors are showing up when.
I'm testing a scene out with 3 actors: Player, Ann and Bob. They're each set up as Dialogue Actors in the scene.
I tried assigning the two NPCs a specific subtitle panel, but this keeps them on screen all the time, greyed out when they aren't talking, and I'm not sure how to make them go away again lol.
When set up with the Default subtitle panel, the player is on screen greyed out all the time and is never "un-greyed" regardless of whether they or any NPC is talking. The Player actor has "Is Player" checked, not sure if that makes them behave differently?
Is there a way to have the player sprite appear when menu options are visible?
How to use actors and subtitle panels in Visual Novel framework
-
- Posts: 195
- Joined: Mon Jul 01, 2019 1:21 pm
Re: How to use actors and subtitle panels in Visual Novel framework
Hi,
The dialogue UI that ships with the Visual Novel starter framework is a variant of the VN Template Standard Dialogue UI prefab.
This prefab has 3 subtitle panels. You can add more if needed.
Each subtitle panel has a Visibility dropdown. On panels 0 & 1, Visibility is set to Always From Start, which means they will appear as soon as the conversation starts. Panel 2's Visibility is set to Always Once Shown, which means it won't appear until the first time character uses it. If you don't want a panel (e.g., panel 1) to be visible when the conversation starts, change the Visibility dropdown.
To specify which panel an NPC or the player should use, add a Dialogue Actor component to the NPC/player's GameObject. (Create an empty GameObject if it doesn't have one.) Then set its Dialogue UI Settings > Subtitle Panel Number. You can also use the SetPanel() sequencer command or [panel=#] markup tag to tell an actor to use a different subtitle panel.
When the player response menu appears, it has a different portrait image GameObject that it will show. If you don't want this to be visible, you can remove it from the response menu panel.
If you want to hide a subtitle panel's portrait image that's currently visible, use the sequencer command HidePanel(#, portraitimage), where # is the panel number.
The dialogue UI that ships with the Visual Novel starter framework is a variant of the VN Template Standard Dialogue UI prefab.
This prefab has 3 subtitle panels. You can add more if needed.
Each subtitle panel has a Visibility dropdown. On panels 0 & 1, Visibility is set to Always From Start, which means they will appear as soon as the conversation starts. Panel 2's Visibility is set to Always Once Shown, which means it won't appear until the first time character uses it. If you don't want a panel (e.g., panel 1) to be visible when the conversation starts, change the Visibility dropdown.
To specify which panel an NPC or the player should use, add a Dialogue Actor component to the NPC/player's GameObject. (Create an empty GameObject if it doesn't have one.) Then set its Dialogue UI Settings > Subtitle Panel Number. You can also use the SetPanel() sequencer command or [panel=#] markup tag to tell an actor to use a different subtitle panel.
When the player response menu appears, it has a different portrait image GameObject that it will show. If you don't want this to be visible, you can remove it from the response menu panel.
If you want to hide a subtitle panel's portrait image that's currently visible, use the sequencer command HidePanel(#, portraitimage), where # is the panel number.
-
- Posts: 195
- Joined: Mon Jul 01, 2019 1:21 pm
Re: How to use actors and subtitle panels in Visual Novel framework
Hi Tony, thanks.
Is there a ShowPanel() or equivalent to make it visible again, without having to give the character a dialogue line?
Is there a ShowPanel() or equivalent to make it visible again, without having to give the character a dialogue line?
Re: How to use actors and subtitle panels in Visual Novel framework
Hi,
Yes, use OpenPanel(). If you're only hiding the portrait image by using HidePanel(#, portraitimage), then use OpenPanel(#, portraitimage) and import this patch:
DS_SubtitlePanelPatch_2024-11-11.unitypackage
It contains a fix for OpenPanel(#, portraitimage) that's in the upcoming version 2.2.50.
Yes, use OpenPanel(). If you're only hiding the portrait image by using HidePanel(#, portraitimage), then use OpenPanel(#, portraitimage) and import this patch:
DS_SubtitlePanelPatch_2024-11-11.unitypackage
It contains a fix for OpenPanel(#, portraitimage) that's in the upcoming version 2.2.50.