Search Unity

[RELEASED] TopDown Engine by More Mountains [new v2.2 : tons of things]

Discussion in 'Assets and Asset Store' started by reuno, Oct 9, 2018.

  1. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @dataEcto > I see (at least) two ways of doing that. One would be to extend the AIActionMovePatrol2D ability, override its Patrol() method, and apply the delay not after having reached the point, but when you're close to reaching it instead. The other option would be to add extra waypoints. In your example above I suppose you have 2, if you make it 4 in the same straight line and only apply delay on the 2 center ones, you'll get what you're after.
     
    dataEcto likes this.
  2. dataEcto

    dataEcto

    Joined:
    Feb 21, 2018
    Posts:
    11
    Thank you for pointing me in the right direction. Extending the ability and changing the order of delay worked perfectly!
     
    reuno likes this.
  3. hamuralensis

    hamuralensis

    Joined:
    Nov 25, 2020
    Posts:
    4
    Thanks! I will try it!
     
    reuno likes this.
  4. waheyluggage

    waheyluggage

    Joined:
    Aug 22, 2015
    Posts:
    15
    Hi Reuno

    Hope you're keeping well. Quick question, I have an enemy prefab with a health and mmhealthbar component on it and if I dot my prefab around the level it works fine - the health bar is drawn perpendicular to the camera. However, if I spawn my prefab in code with...

    GameObject g = (GameObject)Instantiate(EnemyToSpawn,
    EnemySpawnPoint.transform.position,
    EnemySpawnPoint.transform.rotation );

    then the health bar is created at random angles and it also rotates as the enemy rotates.

    upload_2021-10-24_22-16-54.png

    It's supposed to look like this...
    upload_2021-10-24_22-18-3.png

    I'm guessing it's something to do with the way I've got my hierarchy ordered or the way I spawn them?

    Any ideas? thanks
     
  5. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @waheyluggage > That seems normal, drawn MMHealthbars don't billboard towards the camera. If you want them to billboard, you can either use MMBillboard or implement your own solution for your camera context.
     
    waheyluggage likes this.
  6. Orange-Peel

    Orange-Peel

    Joined:
    Mar 20, 2015
    Posts:
    13
    Does the TopDown Engine support click-to-move? It seems like it does but I cannot find out for certain....
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
  8. jedhavel

    jedhavel

    Joined:
    Jul 13, 2021
    Posts:
    1
    Bought and downloaded the TDE, but on import there are no scenes included?
     
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
  10. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    129
    I bought Topdown engine. Does it already have FEEL included or I have to buy it separately
     
  11. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
  12. goshki

    goshki

    Joined:
    Aug 11, 2015
    Posts:
    7
    Hi there, quick question about
    AIState.EvaluateTransitions()
    – if I read the method correctly, it just iterates over all transitions for a given state evaluating its decision and calling
    AIBrain.TransitionToState()
    (for
    TrueState
    or
    FalseState
    , depending which one is fulfilled). But it seems that
    AIBrain.TransitionToState()
    is called for every transition that has its decision condition fulfilled – so there's no way to add several transitions that test for different things but might be fulfilled simultaneously because in such case all of them will have their
    AIBrain.TransitionToState()
    called (and the result will be that always the last matching transition will set the state). Is this by design?
     
  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @goshki > Yes, it's by design, you can't transition to more than one state at once. If you want to add weights to your decisions for example, it's best to do that within a decision.
     
  14. goshki

    goshki

    Joined:
    Aug 11, 2015
    Posts:
    7
    @reuno, I think the way
    AIState.EvaluateTransitions()
    is implemented results in multiple calls to
    AIBrain.TransitionToState()
    because it does not stop iterating over transitions after first matching is found. Wouldn't it be useful to break iterating after first matching transition? This would enable configuring transitions in a preemptive way – from more specific to more general (like
    if-else
    chains or
    switches
    ).
     
    reuno likes this.
  15. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @goshki > I think you're right, that'd make way more sense. I'll fix this for the next release.
     
    goshki likes this.
  16. goshki

    goshki

    Joined:
    Aug 11, 2015
    Posts:
    7
    Great! Can't wait for the new version! :)
     
  17. goshki

    goshki

    Joined:
    Aug 11, 2015
    Posts:
    7
    Oh, and one more question regarding AI – the above problem could be worked around if there was some way to extend
    AIState
    (overriding the way
    EvaluateTransitions()
    works) and make AIBrain use this extended version of
    AIState
    . But I see no way to achieve it because
    AIBrain.States
    property is not overridable and it's a list that's custom-managed by
    MMReorderableListEditor
    used in
    AIBrainEditor
    (or sth like this, I'm writing off the top of my head).

    Do you see any way to make
    AIBrain
    use extended versions
    AIState
    ?
     
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @goshki > No, I don't, but for such a structural change, it'd be easier/cleaner to just create a new type of brain rather than extending this one.
     
    goshki likes this.
  19. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    129
    In the Loft3D demo, when you crouch (c in keyboard), the character does not remain in a crouch position it immediately goes into idle position. In the colonel demo, it works fine. Any suggestion what's going on.
     
  20. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @kotor > Select the LoftSuspenders prefab, and in its TopDownController3D's inspector, set MinimumGroundedDistance to 0.5
     
  21. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    129
    It works perfectly now. Can you explain why changing the value makes a difference? just to have more understanding
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @kotor > This distance determines the minimum distance for raycasts checking whether the character is grounded. I recently made changes to that specific character's crouching resize dimensions, without tweaking these as well, and it was just a bit too short. Increasing it fixes the problem.
     
  23. AKAGT17

    AKAGT17

    Joined:
    Sep 8, 2014
    Posts:
    37
    Hi Reuno, Im looking at the xbox controller at the moment particularly the Left and Right Trigger buttons which is used as Secondary Shoot and Shoot button. However Looking at the input manager, I can't see them assigned to those buttons ( Axis 9 and Axis 10). Is this function embedded into one of the scripts? I basically want to know so that I can disable the Secondary Shoot button ( Axis 9) because when I hold Secondary shoot button ( Axis 9) down and then press Shoot buton (axis 10) it doesn't allow me to fire bullets .
     
  24. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    Triggers are the 3rd axis on an xbox controller, not 9 and 10.
     
  25. AKAGT17

    AKAGT17

    Joined:
    Sep 8, 2014
    Posts:
    37


    Hi Reuno , this is what I found online but ok I take your word for it, As for my question would you be able to answer how the shoot button in the input manager doesn't show the 3rd axis as the selected button for Shoot(Playre1_shoot) function or even the secondary shoot ? Assume it is assigned to oney of the script instead then? If so which one? thanks
     
  26. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    Don't take my word for it, just test, you'll see, or look at more reliable sources :


    And yes, the input manager does show the 3rd axis, as a search will show you. Axis name is Player1_ShootAxis.
     
  27. AKAGT17

    AKAGT17

    Joined:
    Sep 8, 2014
    Posts:
    37
    Thanks Reuno I was looking at the wrong input then, last question when I hold the Secondary shoot button down and then press Shoot button it still doesn't allow me to fire bullets . Would you be able to guide me how do I disable this ? much appreciated thx
     
  28. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @AKAGT17 > By default both shoot axis on gamepad are bound to the same axis (3rd, positive and negative). Of course if you press both they cancel each other out. Treat them as buttons and not axis, or use other axis/buttons, or a different approach, it's a standard problem in Unity, nothing specific to the engine here. I believe Rewired solves this problem, as do most input solutions out there.
     
  29. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    129
    I was trying to use Behavior Designer and Movement pack from Opsive. Is topdown engine compatible with those package ?
     
  30. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @kotor > I've never used any of these so I can't tell for sure that they would or wouldn't work. As a general rule, there's no support for 3rd party assets in the engine.
     
  31. Sofiel

    Sofiel

    Joined:
    Aug 6, 2017
    Posts:
    52
    @reuno is there a possibility there will be something like the CorgiCinemachine Zone in the TopDown engine?
    Thanks!
     
  32. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @Sofiel > That's definitely coming! Not in the next release but the one after that, if all goes well.
     
  33. Sofiel

    Sofiel

    Joined:
    Aug 6, 2017
    Posts:
    52
    reuno likes this.
  34. JC_LEON

    JC_LEON

    Joined:
    May 20, 2014
    Posts:
    492
    Hi reuno .. ip urchased top down engine today.. and i would yo know if is there a way to make the player to swim ,cruoch(i think i know this is possible) and crawl .. plus is there a way to implement ony sort of cover system for player and ai and a sound detction syste mfo ai??
    is there any discord channel for top down engine.,.. bte great tool i'm reading the documentation right now.. and i'm goging t purchase mmfeedbacks too now..
     
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,386
    @JC_LEON > You'll find a list of features on the asset's website. There's no swimming, sound detection or cover system at the moment, you'll have to implement these.
    And yes, there's a discord, the link is on both the asset's store page and the engine's website, and MMFeedbacks is already included in TopDown Engine, as explained on these same pages.
     
  36. JC_LEON

    JC_LEON

    Joined:
    May 20, 2014
    Posts:
    492
    thanks for your reply.. i purchased feel right now... as far you know is there any ai solution on the store compatible with the asset and does someone added swimming to it in some waY? my game proejct idead is a 3d top down horror adventure fps with some basic survival aspects like hunger ,thirst and so on
     
unityunity