Problem: Using Slate With Nodecanvas, Trigger Action Task lost BBParam reference

Slate Forums Support Problem: Using Slate With Nodecanvas, Trigger Action Task lost BBParam reference

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #2303
    yinhao7700
    Participant

    I was try to use Slate cutscene prefabs as my character’s action clips. Along with FSM states to create action combos.

    When I call Trigger Action Task in cutscene and pick the blackboard variable from FSM actor, it went good in the editor. But when I play and run the cutscene, the blackboard variable would lost reference.Is this normal or did I use this NC_SlATE in a wrong way?

    When I exit playing mode, the error remains. After I delete this action task and re-add it, the error goes. I wander how to use FSM actor’s bb params in cutscene?

    Attachments:
    You must be logged in to view attached files.
    #2307
    Gavalakis
    Keymaster

    Hello,

    You are right. There was a bug. I just fixed it and attached the fixed “TriggerActionTask” file for you here.

    Let me know if that works for you as expected now.

    Thanks!

    Join us on Discord: https://discord.gg/97q2Rjh

    Attachments:
    You must be logged in to view attached files.
    #2311
    yinhao7700
    Participant

    Truely thanks for your help!

    But there remains some bugs.

    I’m using the PlayCutsceneAdvanced (Action Task) in NodeCanvas, and cutsceneIsPrefab = true.  After the cutscene instantiated, it would call ResolveBlackboard() and UpdateTasksOwner() in TriggerActionTask, which last fix is in. But at this time, the agent and the blackboard is still null. Because SetGroupActorOfName() haven’t called.

    protected override void OnExecute() {

    // ……

     

    cutsceneInstance = cutsceneIsPrefab ? Object.Instantiate(cutscene.value) : cutscene.value;

     

    // Instantiate wall call it’s Awake ,so the UpdateTasksOwner has called. But SetGroupActorOfName haven’t called.

     

    foreach ( var replacement in replacementActors ) {

    if ( !string.IsNullOrEmpty(replacement.groupName) && replacement.newActor.value != null ) {

    cutsceneInstance.SetGroupActorOfName(replacement.groupName, replacement.newActor.value);

    }

    }

    Hoping for another fix. Thanks again!

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.