Search Unity

[70% OFF - FLASH DEAL] Dialogue System for Unity - easy conversations, quests, and more!

Discussion in 'Assets and Asset Store' started by TonyLi, Oct 12, 2013.

  1. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Had to make sure I wasn't lying about the process. ;) Glad it's working!
     
  2. Vann1110

    Vann1110

    Joined:
    Aug 19, 2015
    Posts:
    4
    Hi Tony,
    First of all, I like this plug-in very much. It's very powerful and useful. However, it's a little complicated.
    Here is an example that what I want to do.



    This is a Chinese PC game.

    I just want a simple dialogue presentation. Mouse clicking to continue dialogue. Free position of portrait. etc. But, after I checked all the tutorial video or tutorial manual even examples in plug-in, I couldn't find a correct way to do this. I always have a response menu. Is it possible to do such things?

    Thank you
    Best Regards
     

    Attached Files:

  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @Vann1110 -
    1. Inspect the Dialogue Manager GameObject. Tick Subtitle Settings > Show PC Subtitles During Line.

    2. Change Subtitle Settings > Continue Button to Always.

    3. Untick Input Settings > Always Force Response Menu.

    4. Make sure your dialogue UI's subtitle panels have continue buttons. (See the Dialogue Manager prefab's Generic Unity UI Dialogue UI for an example continue button.) If you to allow the player to click anywhere on the screen, make the continue button fill the whole screen, and change the image's Alpha value to 0 to make it invisible.

    5. If you want a character to use a different subtitle panel (so you can reposition its portrait image):
    • Inspect the Unity UI Dialogue UI component, and tick Find Actor Overrides.
    • Add an Override Unity UI Dialogue UI Controls component to the character. Then assign the panel and UI elements that you want to use.
    It's possible to do what you describe. If the steps above don't cover everything you need, or if you would like more info, please let me know.
     
  4. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    Okay, I've run into a minor thing, but I'm pretty sure it can be fixed, I'm just not sure how.

    I've installed the Cinema Director support package and everything is working fine except when I come out of a cutscene, the typewriter effect for the next dialogue line is ignored. It's a minor thing, but it affects the flow of the dialogue a bit.

    I'm using the following sequence:
    Code (CSharp):
    1.  
    2. Cinema(TestCutscene);
    3. Continue()
    4.  
    I don't suppose there's anything I can do to fix this? Here's a video showing where the problem is:



    edit: I should note that the Continue() is there because I have a bit of test dialogue there. If I remove the test dialogue and the Continue(), the problem still persists.
     
    Last edited: Jul 12, 2017
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @Murgilod - Would it be possible for you to send a reproduction scene to tony (at) pixelcrushers.com and let me know what version of Unity to use please? I haven't been able to reproduce the issue.
     
  6. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    Alright, I've sent off an email, though there's a new problem that I'm encountering now that I explain in detail in it. Thanks for your help with this.
     
  7. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @Murgilod - I replied to your email. (Just letting you know in case your spam filter is blocking email from pixelcrushers.com.)
     
  8. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Dialogue System Patch 20170712 Available

    A patch is available on the Pixel Crushers customer download site. (If you need access, please PM me your Asset Store invoice number.) The patch contains these additions, which will be in the next full release version:
    • Dialogue Editor:
      • Added menu items Show > Show Participants and Show > Show Full Text On Hover.
      • Added menu item Sort > Reorder IDs.
      • Added editor setting Show Database Name (available on Database tab).
      • Handles ampersand (&) a little more gracefully in node editor dropdown menu.
    • Changed: Player Setup Wizard now adds a Set Component Enabled On Dialogue Event component instead of a Set Enabled On Dialogue Event.
    • Fixed: Localized text table editor: Add At Top selection is now persistent; properly opens newly-created fields.
    • Fixed: Set Enabled On Dialogue Event: Handles unassigned entries.
    • Adventure Creator: Added Sync Settings section to bridge script, allowing you to specify when data gets copied between AC & DS.
     
    Dwight_Everhart likes this.
  9. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    I got your email yesterday but was unable to test implementation details until just now and everything seems to be working just fine. Not sure how I completely spaced on having that panel completely disable itself, but that was a good catch too, thanks for all your help!
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Thanks for the update! I'm glad it's all working now.
     
  11. Vann1110

    Vann1110

    Joined:
    Aug 19, 2015
    Posts:
    4
    Hi Tony,

    Thank for your help. By following your instruction, I have completed mouse clicking to continue and common dialogue without response menu. It's inspired me a lot by making such a big progress. I think I need to check out the whole manual to understand the function of each variables.

    Hera is another cutscene example.


    Now I'm studying how to make a cutscene including dialogue and cinematic. Just like the video I posted few days ago and the above one, I want to play dialogue system and camera animation at the same time. I know there is a system called sequence can do such things. But it's not intuitive a little bit for artists. It must be in play mode then see the result. If we want to adjust the details, we have to play many times to try it. However, it's amazing that Unity 2017.1 came out. This version includes two powerful features, Timeline Editor and Cinemachine. It's a visual editing system. I have a idea that I just put everything in one Timeline then set it in sequence column instead of writing many commands like Camera(Closeup), Move() etc. I'm studying how to make them interactive with each other. If it is possible, could you please give some suggestions? or any other good way to make it? And another question, is it possible to use Traditional Chinese Localization?

    Thank you
     
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @Vann1110 - Cinemachine and Timeline support will be in the next release, which is coming out in less than a month. In the meantime, there are some third party solutions such as SLATE, Cinema Director, and uSequencer. You can read more about how they work in the Dialogue System here: SLATE Support, Cinema Director Support, uSequencer Support.

    Yes. This is the documentation page: Localization. And this is the tutorial video: Localization. Make sure to use a font that supports the characters you need.
     
  13. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    Okay, I've fully reaccclimated myself with Dialogue System and it's already saved me countless hours of work, so thanks for that. I was just wondering though, is there a guide to making custom sequencer commands or should I just dive into the third party support ones and see how they work for myself? I'm not averse to the extra work, but a guide would be handy.

    Edit: Whoops! My googling was failing me, but I just managed to find this. Nevermind!
     
    Last edited: Jul 17, 2017
    TonyLi likes this.
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    You beat me to it. :) I was just about to reply about the template script. Remember to call Stop() somewhere in your script. Other than that, sequencer commands are pretty simple to write. The SequencerCommand API reference documents a lot of handy methods available to your sequencer command, such as GetParameter(), GetParameterAsType(), and GetSubject().
     
  15. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    I doubt I'll need anything so complex, as I'm just hooking the sequencer into my camera manager script, but I'll keep that bookmarked juuust in case.
     
  16. canaljuegos32

    canaljuegos32

    Joined:
    Jun 29, 2015
    Posts:
    63
    I have rfps 1.23, dialogue system 1.7 and s-inventory 1.3. When i drop a comsumable in rfps/s-inventory example it falls trought the ground. Also the shotgun is droped 2 times, 1 stay and the other falls trought the ground. But in the s-inventoy example all seems ok.

    If i add a empty object with a collider in the rfps/s-inventory example consumable, then the item stay on the ground if i drop it, but if i use it from inventory, is used correctly and destroyed but also spawns another in the ground (so infinite loot). Is a bug or?. I installed all correctly i think.
     
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @canaljuegos32 - Please make sure the consumable has a rigidbody and collider, and that its layer is configured to collide with the floor.

    That said, I'm working with the S-Inventory developer since there may be a few issues introduced in S-Inventory 1.3 related to dropping items, the S-InventoryC# prefab, and a couple other small things. There is an interim, updated S-Inventory Support package on the Dialogue System Extras page. It's for S-Inventory 1.31. The primary purpose is to update the Dialogue System's integration code to work with the new code namespace in S-Inventory 1.31+.
     
  18. canaljuegos32

    canaljuegos32

    Joined:
    Jun 29, 2015
    Posts:
    63
    Tried all combinations, still falling trought ground or spawning again after using in inventory when testing rfps scene. Is very weird since the s-inventory scene works ok. I only need pick cosumables and objects to activate doors, im not going to use the weapons from inventory. Perhaps another inventory system?.
     
  19. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    I've run into a problem which should be pretty simple to solve. I have the following script:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using PixelCrushers.DialogueSystem.SequencerCommands;
    5.  
    6. public class SequencerCommandSwitch : SequencerCommand {
    7.  
    8.     // Use this for initialization
    9.     void Start () {
    10.         int cameraID = GetParameterAsInt(0);
    11.         CameraManager cameraManager = FindObjectOfType<CameraManager>();
    12.  
    13.         Debug.Log(cameraID);
    14.  
    15.         if (cameraManager != null)
    16.         {
    17.             cameraManager.ChangeCameras(cameraID);
    18.         }
    19.         Stop();
    20.     }
    21. }
    22.  
    As you can probably tell, it just calls my camera manager script's ChangeCameras function. Unfortunately, it also seems to cause the dialogue to completely advance when I call the sequence with Switch(InsertNumberHere). What am I doing wrong, exactly?
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @canaljuegos32 - In my previous post, I should have said "a few issues introduced in S-Inventory 1.31 related to dropping items." If you're willing to update to S-Inventory 1.31, I'll try to work out the final issues and publish an updated support package today.

    In the meantime, here are some things to check:

    1. Inspect the S-InventoryC# > InventoryManagerC# GameObject, and make sure Drop Type is set to Spawn, not Destroy.

    2. It's possible that the dropped item is being dropped too low. Edit S-Inventory's InventoryManager.cs script and change line 588 from this:
    Code (csharp):
    1. CloneItem.transform.localPosition  = Player.transform.position + Player.transform.forward*DropDistance;
    to:
    Code (csharp):
    1. CloneItem.transform.localPosition  = Player.transform.position + Player.transform.forward*DropDistance + Player.transform.up;
    Hi @Murgilod - Unless the line is configured to wait for a continue button, it will advance as soon as the Sequence is done. If your Switch() command is the only command in the Sequence, it will advance immediately. You could try something like:
    Code (sequencer):
    1. Switch(0);
    2. Delay({{end}})
    This also delays for a duration based on the length of the dialogue text.
     
  21. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    Scratch my problem. Everything was working fine, it's just a PEBKAC issue. I forgot to change the depth of the camera rendering my UI stuff, so everything was hiding on me. Thanks!
     
  22. canaljuegos32

    canaljuegos32

    Joined:
    Jun 29, 2015
    Posts:
    63
    It drops ok, i see it spawned in front. I fixed the fall trought ground by adding a child with box collider. So at this point all ok, it drops, can take it back in inventory but if i use, is used ok (removes thirst) but another is spawned in front of the player (when destroy on use is checked in the item). If i put Drop Type in destroy is not spawned when used but then i cant drop items. Is something like when i use the item instead of destroyed is spawned in front player. Perhasp is a code bug and is not relared to dialogue system and i making you lose your time.
     
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    If it's an S-Inventory issue, now's the time to get it fixed, since I'm in contact with the developer. We'll work together to make sure it works correctly for you. I'll try to reproduce the issue and let Oussama know if I find anything that needs to be fixed. If it's a setting issue, I'll let you know what to change. I'll try to have an answer later today.
     
  24. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    I think this patch will fix the issue. It adds a checkbox to SInventoryConsumablePickup named Destroy When Consumed. The checkbox is ticked by default, so you shouldn't have to change anything except for importing the unitypackage in the attached zip file.
     

    Attached Files:

  25. canaljuegos32

    canaljuegos32

    Joined:
    Jun 29, 2015
    Posts:
    63
    Working good now. Many thanks Tony. What i dont understand is why nobody noticed that "bug".
     
  26. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Thanks for helping me pinpoint it. I guess others have just configured RFPS consumables to destroy on drop in the past.
     
  27. Vann1110

    Vann1110

    Joined:
    Aug 19, 2015
    Posts:
    4
    Hi, Tony
    Thank for your suggestion. I will keep trying on it. Now I got some other problems.
    1.I would like to use Fade(in/out) effect. But after I used Fade(out), I can't keep the black screen for a while. It automatically destroyed itself after the end of the Fade(out). If I want to keep the black screen for the seconds that I need then Fade(in) back to scene, is it possible?
    2.This is an example dialogue I created. in START, I used Sequence "SendMessage(play,,Cutscene1)" to start an Timeline animation and set condition "Variables[isConversationStart] == true(which initial value is false)" on the second dialogue"Hellow!!I'm Sky" to stop the conversation until receive the message "SetVariables(isConversationStart, true)" from the Timeline then the conversation would continue. However I failed, the conversation just stopped at the beginning START. It didn't play the Timeline. Is there anything wrong with my workflow? or the workflow is just disallowed?What I want to do is making dialogue interact with other components like Timeline.
     

    Attached Files:

  28. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @Vann1110 - Create a full-screen black UI image. Then deactivate it. Use the SetActive() sequencer command to activate it between the Fade() commands. Let's say it's named "BlackScreen". Use a sequence like this:
    Code (sequencer):
    1. Fade(out);
    2. SetActive(BlackScreen,true)@1;
    3. SetActive(BlackScreen,false)@3;
    4. Fade(in)@3
    This sequence:

    00:00 - 00:01: Fades to black
    00:01: Activates the full-screen black UI image
    00:03: Deactivates the fulll-screen black UI image
    00:03 - 00:04: Fades in from black​

    Timeline and Cinemachine support will be built into the next release of the Dialogue System.

    In the meantime, you can set this up without official Timeline support. It might require a small bit of scripting to make it work best. You do not need to use variables. I recommend writing a simple custom sequencer command. Let's say you call it PlayTimeline(), and its parameter is the name of a GameObject (e.g., "Cutscene1") that has a timeline. Use a sequence like this:
    Code (sequencer):
    1. PlayTimeline(Cutscene1)
    If you're using a continue button and you don't want to make the player click the continue button, you can use this sequence instead to simulate a continue button click:
    Code (sequencer):
    1. PlayTimeline(Cutscene1)->Message(Done);
    2. Continue()@Message(Done)
    The PlayTimeline sequencer command will look similar to this:
    Code (csharp):
    1. public class SequencerCommandPlayTimeline : SequencerCommand {
    2.     private TimelineScript timelineScript;
    3.  
    4.     IEnumerator Start() {
    5.         var subject = GetSubject(0, Sequencer.Speaker); // Default to speaker.
    6.         timelineScript = subject.GetComponent<TimelineScript>();
    7.         timelineScript.timeline.Play();
    8.         while (timelineScript.timeline.playableGraph.IsPlaying()) { // Wait until done.
    9.             yield return null;
    10.         }
    11.         Stop(); // Tell sequencer that this command is done.
    12.     }
    13.     void OnDestroy() {
    14.         if (timelineScript.timeline.playableGraph.IsPlaying()) timelineScript.timeline.Stop();
    15.     }
    16. }
    This assumes Cutscene1 has a script similar to this:
    Code (csharp):
    1. public class TimelineScript : MonoBehaviour {
    2.     public PlayableDirector timeline;
    3. }
    The code above is a rough sketch to communicate the concept. It's not complete code.
     
    Last edited: Jul 20, 2017
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    IndieGraze Interview w/No Truce With The Furies Team

    IndieGraze just published a great interview with the No Truce With The Furies team. NTWTF's combat system runs entirely in dialogue (driven by the Dialogue System). They explain their approach to modernizing dialogue in video games:
    Go add it to your wish list on Steam! :)
     
    TeagansDad and neoshaman like this.
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Adventure Creator 1.58 - Updated Support Package Available

    Adventure Creator 1.58 contains an API change. The Dialogue System Extras page has an updated support package for AC 1.58+.
     
    Deckard_89 likes this.
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    RT-Voice 2.8.1 - Updated Support Package Available

    RT-Voice 2.8.1 contains an API change. The Dialogue System Extras page has an updated support package for RT-Voice 2.8.1+.


    S-Inventory 1.31 - Updated Support Package Available

    S-Inventory 1.31 also contains API changes. You can download an updated package you know where. :)
     
    BackwoodsGaming likes this.
  32. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Dialogue System Patch 1.7.3 2017-07-27 Available

    A patch is now available on the Pixel Crushers customer download site. (If you need access, please PM me your Asset Store invoice number.)

    This patch contains:
    • Dialogue Editor:
      - Added menu items Show > Show Participants and Show > Show Full Text On Hover.
      - Added editor setting Show Database Name (available on Database tab).
      - Added menu item Sort > Reorder IDs. (Reorders internal IDs sequentially 1,2,3,etc.)
      - Handles ampersand (&) a little more gracefully in node editor dropdown menu.
    • Player Setup Wizard now adds the more flexible Set Component Enabled On Dialogue Event component instead of the legacy Set Enabled On Dialogue Event.
    • Unity UI Typewriter Effect now handles <size> tags.
    • Fixed localized text table editor: Add At Top selection is persistent; properly opens newly-created fields.
    • Fixed Set Enabled On Dialogue Event: Handles unassigned entries.
    • articy:draft: Now import variables’ Description property; ConversantEntity now supports Slots As > DisplayName. Now protects against infinite loops in malformed articy data; progress callback is more robust.
    • Adventure Creator: Updated for AC 1.58+. Added Sync Settings section to bridge script.
    • RT-Voice: Updated for RT-Voice 2.81+.
    • S-Inventory: Updated for S-Inventory 1.31+.
    These improvements will also be in the next full release. I also plan for Cinemachine and Timeline support to be in the next full release.
     
    BackwoodsGaming, TeagansDad and kk99 like this.
  33. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81
    Hello Tony,

    I have a SUGGESTION.
    I am using your Dialogue System for a long time and the number of Dialogues are statically increasing.

    I have ran into a very inconvenient situation that it takes so long time to scroll all the way down to select the latest dialogue.

    I wonder if you could replace the simple dropdown and add something like this

    http://jsfiddle.net/digitalbush/tf6mdnzb/ (simply ignore the multi select)

    so when you switch between dialogues you dont have to scroll all the way down every time

    or alternatively some search filed where you can search for the dialogue like here

    https://jsfiddle.net/esedic/Da4m3/

    For me it takes up to 20 seconds every time and it's driving me nuts nowadays.


    thank you
     

    Attached Files:

  34. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81
    okay lol while I was searching for some hotkeys how to quickly scroll faster in the Editior

    I discovered when you Use the Arrow UP Key, you automatically jump to the bottom of the Dialogue List.
    So this kinda solves my problem but having Search Box for Dialogues would be a nice feature, too.

    because it can still happen that I need to switch between dialogues that are in the middle of the List
     
  35. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    798
    You can add nesting/grouping to the menu yourself by naming your conversations with forward slashes. For example:

    StoryMode_Quest/TeddyBear
    StoryMode_Quest/SchoolGirl
    Dialogue/Midori
    Dialogue/Kaya

    This will create 2 submenus for the StoryMode_Quest group and the Dialogue group when you click on the dropdown. Helps keep everything organised and easy to find.

    ProTip: This works with any generic menu in Unity :)
     
    TonyLi and kk99 like this.
  36. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81

    that is really clever

    Thanks
     
  37. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    If you have a writer who writes using Unity Editor

    Programmers are working with other Unity editors.

    Is there a way to send a separate file of the author's work to the programmer?
     
  38. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @Cartoon-Mania - Yes, here are several ways. You can choose the one that works best for you.
    • Put your project in version control. This way the whole team can access the entire project, including dialogue databases.
    • Or, export the dialogue database asset as a unitypackage. (Right-click it in the Project view and select Export Package...) Send this to the programmer, who can then import it.
    • Or, export the dialogue database in a text format such as Chat Mapper XML or CSV (comma-separated values). The programmer can then import it.
    For completeness, here are some other options that aren't free but may be useful for funded teams:
    • Chat Mapper Commercial (we've arranged a 10% discount code: PIX10) has additional team-based reviewer tools. If you don't need these features, the Dialogue System also works with the less expensive Indie version.
    • articy:draft also has a multi-user version so multiple people can work on an articy project simultaneously.
     
  39. xxhaissamxx

    xxhaissamxx

    Joined:
    Jan 12, 2015
    Posts:
    134
    how to rotate NPC to face player once conversation start ?
     
  40. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @xxhaissamxx - Set the START node's Sequence to:

    LookAt(speaker,listener)

    By default, the START node's speaker is the player, and the listener is the NPC. The command above tells the listener (NPC) to face the speaker (player). If you want the NPC and player to both face at each other, you can use a shortcut:

    LookAt()
     
  41. xxhaissamxx

    xxhaissamxx

    Joined:
    Jan 12, 2015
    Posts:
    134
    thanks for help i didn't noticed there section for sequence in documents but is there a way to slowly rotate better than lookat
     
  42. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Yes. This LookAt() command makes the speaker rotate to look at the listener over 1 second:

    LookAt(speaker,listener,1)

    Note that this is just a rotation. If you need the NPC to animate its feet moving while rotating, you'll have to handle that in your animation system and/or character controller.
     
    xxhaissamxx likes this.
  43. xxhaissamxx

    xxhaissamxx

    Joined:
    Jan 12, 2015
    Posts:
    134
    frame drop when i use
    Camera(Medium,Adam);
    Camera(Wide,Adam,5);
     

    Attached Files:

    • 1.png
      1.png
      File size:
      150.1 KB
      Views:
      793
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    The sequencer is instantiating a copy of your sequencer camera. Here are two options:

    1. Mark your main camera as MainCamera, and leave the Dialogue Manager's Sequencer Camera field blank. This will tell the Dialogue System to use your main camera for sequences.

    2. Or, if you want to use a dedicated sequencer camera, put an instance of your sequencer camera in the scene as a child of the Dialogue Manager, and assign it to the Dialogue Manager's Sequencer Camera field. This way it doesn't have to load it from disk. If this camera has any scripts that run Awake, Start, or OnEnable methods, make sure they don't run too long.
     
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Seeking Feedback on Cinemachine & Timeline Integration

    I'm working on Cinemachine and Timeline integration, and I'd be grateful for your feedback. Currently the integration will provide the following:
    • Sequencer command to change the priority of a Cinemachine virtual camera.
    • Sequencer command to play, pause, resume, and stop Timelines.
    • Component to set Cinemachine virtual cameras on dialogue events (e.g., conversation start/end).
    • Timeline Trigger (e.g., start Timeline OnUse or OnConversationStart).
    • Custom playables:
      • Bark
      • Start conversation, stop conversation
      • Show alert
      • Set quest state
    I think this reaches a good balance between simplicity and flexibility. Did I miss anything?
     
    Hormic, Corvwyn and hopeful like this.
  46. fancyferret

    fancyferret

    Joined:
    Feb 4, 2017
    Posts:
    31
    Hello!

    I'm using Dialogue System with ORK Framework and it's been fantastic. I'm using Love/Hate too!

    ORK's developer updated this week and is making his 2017.1+ update in the coming days as well I think.

    I should have been more cautious but updated ORK and am getting the errors below now from the DS-ORK bridge.

    Apologies for any code ignorance (still learning.) Is this just a version conflict or an update step issue on my part?



    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(351,48): error CS1061: Type `ORKFramework.Inventory' does not contain a definition for `HasWeapon' and no extension method `HasWeapon' of type `ORKFramework.Inventory' could be found. Are you missing an assembly reference?

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(359,48): error CS1061: Type `ORKFramework.Inventory' does not contain a definition for `HasArmor' and no extension method `HasArmor' of type `ORKFramework.Inventory' could be found. Are you missing an assembly reference?

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(375,41): error CS1061: Type `ORKFramework.Inventory' does not contain a definition for `AddItem' and no extension method `AddItem' of type `ORKFramework.Inventory' could be found. Are you missing an assembly reference?

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(384,41): error CS1502: The best overloaded method match for `ORKFramework.Inventory.Add(ORKFramework.ItemGain[], bool, bool)' has some invalid arguments

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(384,45): error CS1503: Argument `#1' cannot convert `ORKFramework.EquipShortcut' expression to type `ORKFramework.ItemGain[]'

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(393,41): error CS1502: The best overloaded method match for `ORKFramework.Inventory.Add(ORKFramework.ItemGain[], bool, bool)' has some invalid arguments

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(393,45): error CS1503: Argument `#1' cannot convert `ORKFramework.EquipShortcut' expression to type `ORKFramework.ItemGain[]'

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(408,41): error CS1061: Type `ORKFramework.Inventory' does not contain a definition for `RemoveItem' and no extension method `RemoveItem' of type `ORKFramework.Inventory' could be found. Are you missing an assembly reference?

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(417,41): error CS1501: No overload for method `RemoveEquipment' takes `3' arguments

    Assets/Dialogue System/Third Party Support/ORK Framework/Scripts/DialogueSystemOrkBridge.cs(426,41): error CS1501: No overload for method `RemoveEquipment' takes `3' arguments
     
  47. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Hi @fancyferret - Third party support is often a catch-up game. I plan to have updated ORK Support packages for the Dialogue System and Love/Hate available today. I'll post here when they're available.
     
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Updated ORK Framework Support Package Available

    An updated support package for ORK Framework 2.13.0 is now available on the Dialogue System Extras page.

    (@fancyferret - The changes in ORK 2.13.0 don't affect the Love/Hate Support package, so it doesn't need to be updated.)
     
  49. fancyferret

    fancyferret

    Joined:
    Feb 4, 2017
    Posts:
    31
    Wow! That was fast!

    Thanks so very much. You're the absolute best, sir!
     
  50. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,701
    Happy to help! Enjoy working on your game! Every time I work on the ORK integration, it reminds me how fun ORK is to use.
     
    TeagansDad likes this.