I'm using AC to make a 3d- direct controlled game, Is there a way to set up dialogue system to make the choices with up/down return/interactionA instead of using the default mouse click ?
Also, is there another tip to make Dialogue System conversations work inside cinema director ? (similar to subtitles).
> Is there a way to set up dialogue system to make the choices with up/down return/interactionA instead of using the default mouse click ?
Yes. The Dialogue System is GUI-independent, so the steps depend on which GUI system you're using.
If you're using the new Unity 4.6 UI, set up navigation as described in the Unity UI button tutorial, and tick Auto Focus on the Unity UI Dialogue UI component.
If you're using legacy Unity GUI, you can use the steps provided here.
The other GUI systems (NGUI, DF-GUI, etc.) work similarly. And if you don't like the default implementations, you can create a subclass to override parts with your own functionality, or write own dialogue UI class by implementing a simple C# interface as described here.
> Also, is there another tip to make Dialogue System conversations work inside cinema director ? (similar to subtitles).
To use Cinema Director with the Dialogue System, import the Cinema Director support package (see these instructions) and then just use the Cinema() sequencer command in your dialogue entries' Sequence field.
Say you've created a Cinema Director cutscene named "BigActionSequence". Set the Sequence field to:
Cinema(BigActionSequence)
The sequencer command can also assign actors at runtime. Say you've defined a cutscene named "WipeBrow" where the actor assigned to the Wiper Group wipes his or her brow. You can make the dialogue entry's speaker wipe his or her brow with this:
Cinema(WipeBrow, once, Wiper, speaker)
If, on the other hand, you want to make a character speak a bark (one-liner, vs. interactive) during a Cinema Director cutscene, you can set up a Bark Trigger set to OnUse and tell Cinema Director to send a message "OnUse" to the Bark Trigger.
If I just completely missed the point of your question, please let me know and I'll try to help.
There's no reason why you can't use all three together. The Dialogue System's AdventureCreatorBridge lets you specify when to switch AC to the DialogOptions state when running a Dialogue System conversation (Never, Always, or When Player Is Involved).
When AC is in the DialogOptions state, it doesn't control the camera. This leaves Cinema Director free to control it. You can trigger a Cinema Director sequence using the Cinema() sequencer command. You can also use the ACCam() sequencer command to manually enable or disable AC's camera control at any point in a conversation.
The gameplay flow is: AC --> DS --> Cinema Director.
The workflow is:
In Cinema Director, create a sequence.
In DS, create a conversation. Use Cinema() to kick off the sequence.
In AC, use the "Third-Party: Dialogue system conversation" action.
On the other hand, if you want to control Cinema Director from an AC action list, you can use the AC() sequencer command to run the action list.
The gameplay flow is: AC --> DS --> AC (temporarily) --> Cinema Director action.
The workflow is:
In Cinema Director, create a sequence.
In AC, create an action list that uses the "Third-Party: Cinema Director" action.
In DS, create a conversation. Use AC() to start the action list.
In AC, use the "Third-Party: Dialogue system conversation" action.
The advantage of Cinema Director is that you can create your sequences visually using a scrubbing timeline editor.
Also, DS has a feature like AC that can tie resources to specific dialogue nodes (see entrytags). If you use entrytags, you can use a Default Sequence so you don't have to specify each individual sequence in each dialogue node.
Perfect I'm considering getting Cinema Director for the near future. I have a suggestion, recently using DS in Unity I was surprised to found a dropdown menu for selecting a DS conversation. I can't seem to remember in what window It was, but it was much handier than manually typing the conversation name as we currently do in the AC actions (sometimes leading to problems if there are case typos and such). Any reason why you decided not to set it up this way for AC?
> Any reason why you decided not to set it up this way for AC?
No reason; I just didn't think of it! I'll add it in the next version. Chris let me know that AC v1.42 is going to have some additional hooks, so look for improved integration in the next version, too!
I'm currently using Dialogue System 1.4.5 along with Adventure Creator 1.42b and this is what I'm getting in the console:
Assets/Dialogue System/Third Party Support/Adventure Creator/Scripts/SequencerCommandAC.cs(41,60): error CS1501: No overload for method `Interact' takes `1' arguments
Assets/Dialogue System/Third Party Support/Adventure Creator/Scripts/SequencerCommandAC.cs(55,78): error CS1502: The best overloaded method match for `AC.AdvGame.RunActionListAsset(AC.ActionListAsset, AC.Conversation)' has some invalid arguments
Assets/Dialogue System/Third Party Support/Adventure Creator/Scripts/SequencerCommandAC.cs(55,78): error CS1503: Argument `#2' cannot convert `int' expression to type `AC.Conversation'
Hi @spiritcore - The support package is currently compatible with 1.41 and earlier. I'll be updating the Dialogue System's support package for Adventure Creator 1.42 over the next several days. I'll post here when it's ready.
It also introduces dropdown menus for selecting conversations in the Conversation and Bark actions. Barring any unforeseen issues, the official Dialogue System 1.4.6 release will also have additional integration to make it easier to use AC's built-in speech features.
Hey @Pixelcrushers! How should we import this? When I open the package with my current project, the other thing it let me import from the package is the example file of Adventure Creator.
Hi @wrongtarget - Hmm, it should import the example scene into Dialogue System/Third Party Support/Adventure Creator/Example. I just tested in an old project and a fresh project, and this is what it seems to do in both cases. If you'd like to pursue this issue, please post a screenshot of your import dialog or email it to tony (at) pixelcrushers.com.
In any case, unless you need the example scene, you can omit it from the import. It doesn't contain anything new; it's just updated for AC 1.42.
The documentation will be updated when v1.4.6 is out. Chris added third-party hooks for AC's save system, so you no longer need to edit SaveSystem.cs.
What I meant is that it didn't seem to be exporting anything other than the example scene, so I thought it wasn't doing anything. But it is in fact working So nevermind. This update makes us very happy!
The Dialogue System v1.4.6.1 is available on the Pixel Crushers customer download site and should be on the Asset Store in a couple days. It's been updated for AC 1.42 and adds these new features:
Popup menu to select conversations in Conversation and Bark actions.
New ACSpeech() sequencer command to use AC's lipsync features with Dialogue System conversations. (You can still use the Dialogue System's third-party supported lipsync features, such as SALSA, Cheshire, or FaceFX, if you prefer.)
New entrytag format option that conforms to AC's line ID format.
Easier saving and loading. (You no longer need to edit SaveSystem.cs)
Option to automatically sync the Dialogue System's language to the player's language choice in AC.
You can read all about these features on the Dialogue System's Adventure Creator Support page, but if you have any questions or other feature requests, please post here or email me at tony (at) pixelcrushers.com!
Hello, I'm having trouble running the Animate() sequencer command, it says that the animation state can't be found (it is attached to the animation component).
Any idea why this could be ?
BTW the Cinema Director events are great I was really hoping for something like that, thank you.
Comments
Is it possible to use Cinema Director + AC + DS? What would the workflow be? Any advantages?
I have a suggestion, recently using DS in Unity I was surprised to found a dropdown menu for selecting a DS conversation. I can't seem to remember in what window It was, but it was much handier than manually typing the conversation name as we currently do in the AC actions (sometimes leading to problems if there are case typos and such). Any reason why you decided not to set it up this way for AC?
What I meant is that it didn't seem to be exporting anything other than the example scene, so I thought it wasn't doing anything.
But it is in fact working So nevermind.
This update makes us very happy!