gotenxds

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • in reply to: [Request] Better editor scripting support #17607
    gotenxds
    Participant

    Yes, That would be better but I could not find a good place to insert the event registration, Thanks!

    in reply to: [Request] Groups features #17605
    gotenxds
    Participant

    Hya Gavalakis, thanks for the quick response,
    1. Great 🙂 Cant wait – another option would be to resize the group itself when the nodes are collapsed, as today it stays in the original size like so:
    image_2024-03-09_160502508
    2. I was sure I tried that :O, but yes that does work! thanks
    3. Yes, here is a small gif to show the issue:
    Unity_zEsSD5y0YQ

    Attachments:
    You must be logged in to view attached files.
    in reply to: [Request] Better editor scripting support #17596
    gotenxds
    Participant

    Works great, thanks Gavalakis, any chance this comes bundled in the next version (I dont want to remember adding it everytime I upgrade)

    BTW, I was able to make OnSceneGUI Work by adding these changes, dont know if this is the best way to do that with the graph structure, let me know if you think it’s fine and if you can add it

    GraphOwner class

    Task class

    in reply to: Parallel node does not work correctly on first run #17595
    gotenxds
    Participant

    That is what I’ve been doing as a workaround (I’ve said that in a previous comment here)
    Is that really a good way of implementing this? I’m worried about performance issues (from reading other posts here) and it seems that this would still be running extra checks on the main root node, considering this is going to be a large tree that I am going to run this on about 100~ agents I’m worried it will add up.

    in reply to: [Request] Better editor scripting support #17582
    gotenxds
    Participant

    Yes, I would like some way to run code when the inspector values change (validate them)

    This is odd as from my experience the native onValidate does trigger on editor value changes.
    Actually a quick check in the unity docs verifies that https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnValidate.html
    First line states it should fire when inspector values change.
    I can only assume that the task inspector is somehow “disconnected” from the main graph

    in reply to: Parallel node does not work correctly on first run #17581
    gotenxds
    Participant

    In my case I dont really need to entire graph to ever reset, which is way I set it to on first failure, my reset point is the switch node (represented by the dynamic node)

    The idea here is to allow running additional events in the graph without interrupting the rest of the running graph, hence using the parallel, this is the only way I found of simulating events that don’t change the current state of the graph, if this is an anti pattern and there is a better way to run multiple branches at the same time in case of events let me know.

    In this case I would want the parallel node to act like a game loop or an infinite while loop

    in reply to: Parallel node does not work correctly on first run #17576
    gotenxds
    Participant

    Hya Gavalakis, thanks for the answer, The behavior you are describing is not what is documented in the docs

    image_2024-03-04_151038050

    I also dont think it makes much sense, if the node policy is to only be finished on first failure than it should only finish on first failure, what you are describing is on first failure or success, which has its own policy, so this kinda makes both policies moot when “repeat” is selected.

    Regardless, if you are not willing to fix, can you suggest a better way to achieve this?

    For now I’ve added a “repeat forever” decorator over the sequencer which prevents the child from ever returning and thus prevents this, it feels like a workaround rather then an actual correct way.

    I strongly urge you to rethink if this makes sense.
    It seems to me like if the node says it will keep running until the first failure then it should do that.

    Attachments:
    You must be logged in to view attached files.
    in reply to: [Request] Better editor scripting support #17552
    gotenxds
    Participant

    Hya Glvalakis, thanks for the replay,
    I tried calling validate where you suggested

    And then I added a log to my action OnValidate method like so:

    This does not seem to work, did I misunderstood?

    in reply to: Parallel node does not work correctly on first run #17549
    gotenxds
    Participant

    Gavalakis, I took me a few hours but I was able to create a minimal graph that does reproduce this issue using only native nodecanvas components,
    here is a gif of the issue and an explanation on how to reproduce it.

    So, this is a bit complicated and I did not dive into the graph code so I have no idea why this is happening but,
    To reproduce this you need
    1. A parallel root
    2. A selector leading to a DYNAMIC conditional node that is set to return failure on first run, I’l call this condition A
    3. A sequencer that leads from the parallel root and is waiting until a different condition, We will call this one condition B

    To reproduce this, it is very important that the conditional node (A) will first return failure on the first time.
    Then, switch it’s condition (A) so it returns true.
    Now that the A node is engaged (In this case I just wait for ever) switch condition B to be true too.
    This will cause a graph reset (only on the first time!)

    Unity_X7QBQA5DUi

    Attachments:
    You must be logged in to view attached files.
    in reply to: Parallel node does not work correctly on first run #17548
    gotenxds
    Participant

    Hya Gavalakis, glad to see you’re alive 😉

    Sure, here is the code for the custom tasks:

    isTalking just checks the current value on another class, I know I can do this via the checkBoolean task but for now I prefer doing it like so:

    SetMoving is also very simple:

    FollowPath is a bit more complex and uses the A* package and generally it just sets the next point in a path for the npc to follow.

    I am using the latest version (3.29), and it does look like this:

    I will try and replicate the issue again on a different tree.

    in reply to: Parallel node does not work correctly on first run #17511
    gotenxds
    Participant

    @Gavalakis
    I debugged the code of the parallel node, it seems that you are not clearing the finishedConnections variable which causes you to count the same connection twice on two different runs of OnExecute

    As you can see in the attached image right after the loop that counts the finished connections you have 2 connections marked as finished, but when inspecting the outConnections you can clearly see that one of them is still with status=running

    So, this node thinks both of it’s children are done (you can also see in the gif that that is not the case) and then calls
    ResetRunning in the check for finishedConnectionsCount == outConnections.Count

    For what ever reason, either the node starts off with one connection counted as finished, or there is another bug with clearing the the finished connections, in either case you can see the frustrating result in the gif above.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Missing references in tree after reimport #17503
    gotenxds
    Participant

    It has been a while so I dont have the “corrupted” json file anymore, if it happens again I’l make sure to do so and update here

    in reply to: Missing references in tree after reimport #17502
    gotenxds
    Participant

    Hya, yes it is in the project own assembly

    in reply to: Missing references in tree after reimport #17443
    gotenxds
    Participant

    Here is a video of me fixing the issue, as you can see the variable is just stuck, I need to “change” it back to its original type, and then rebind the variable..

    Attachments:
    You must be logged in to view attached files.
    in reply to: Missing references in tree after reimport #17441
    gotenxds
    Participant

    It happened again but not just for a blackboard variable, this time it happened on a simple script recompile, something you do a hundred times a day.
    It is getting increasingly frustrating having to rebind everything every few days.

    As you can see from the image the variable for the animationController just stopped working, forgot what it is and its binding.

    Attachments:
    You must be logged in to view attached files.
Viewing 15 posts - 1 through 15 (of 16 total)