Search Unity

Compass Navigator Pro - "Skyrim"-like compass bar + mini-map + fog of war system

Discussion in 'Assets and Asset Store' started by Kronnect, Apr 12, 2016.

  1. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906


    Hi everyone,

    Compass Navigator Pro is now available on the Asset Store.

    This is a very easy to use GUI component common in adventure/world exploration games used to show destinations and point of interests (POIs) as well as text indications and revealing effects.

    This package includes:
    - rich and customizable compass bar (4 designs),
    - 11 high quality icons in 2 colors each (22 icons in total),
    - 5 audio clips for the reveal effect.
    - mini-map with fog of war system

    Check out its features here:
    https://www.assetstore.unity3d.com/en/#!/content/59519

    To use it, just drag & drop the prefab to the hierarchy of your scene and add the POI script to your targets (locations, moving foes, ...). You may add the POIs in your scene (statically) or at runtime.

    If you own Gaia, a GX Extension, also allows you to quickly populate the compass bar with interesting places in 1 click (in fact, it uses the spawned groups created by Gaia to automatically add the POIs scripts and assigns a proper icon/name).

    Check out the manual here for more details.

    Cheers!
     
    Last edited: Mar 22, 2019
    BackwoodsGaming likes this.
  2. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906


    A screenshot showing one of the 4 bar styles included.
     
    BackwoodsGaming likes this.
  3. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906


    Another example: celtic bar design showing a revealing POI (the icon changes to white and an animated text flows below the compass bar).
    You can customize many aspects of the bar, the icon behaviour and the reveal effects (positioning, duration, colors, ...).

    This also uses Unity UI System, so it's easily customizable/extensible.
     
    theANMATOR2b and BackwoodsGaming like this.
  4. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Glimpse of the upcoming new feature in 1.4: light beacons! They help to visualize briefly the location of the POIs in front of the player.

     
    BackwoodsGaming likes this.
  5. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    V1.4 is now available. Check it out:
    https://www.assetstore.unity3d.com/en/#!/content/59519

    Changes:

    - New POI beacon effect (API: POIShowBeacon). Works great with Beautify's bloom!

    - Added hideWhenVisited to POIs.
    - Automatically hide/make visible POI when parent game object is enabled/disabled.
    - Added clampPosition to POIs (forces POI icon to stay in the bar, possible on the edges if it's outside player view).
     
    Last edited: Aug 9, 2016
    BackwoodsGaming likes this.
  6. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hello there!

    V1.5 is now available with multi-scene support! Now you can exit/go back to any scene and POIs will preserve their state while only being visible in the appropriate scene.

    Cheers
     
    BackwoodsGaming likes this.
  7. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Compass Navigator Pro is available now at 30% OFF for limited time!
     
  8. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    V2 is now available with the following new features and improvements:

    - New demo scene included.
    - Added World Mapping Modes for different horizontal POI positioning on the compass bar
    - Added "Scale In Duration" to add a scaling animation for icons when they appear on the compass bar
    - Added options to change Font for titles and texts in Compass Bar inspector
    - Added option to enable/disable text revealing effect
    - Added title visibility options

    Cheers!
     
    BackwoodsGaming likes this.
  9. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    This looks great, but we have a particular need for the Visited Text -- it should only be activated after the player has completed a minigame/task at the POI -- so is there a hook that we can tie into for that? Namely, the POI remains unvisited until the player has completed that minigame (rather than just visiting the POI).

    thx
    Dave
     
    Kronnect likes this.
  10. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    So, although the POI can't be marked as visited until your game logic decides, it still will be visible, right?
     
  11. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    yes, visible, and displaying the Unvisited text.
     
    Kronnect likes this.
  12. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Update sent :)
     
  13. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Wow, thanks!!
     
    Kronnect likes this.
  14. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I've got this set up in my game scene, but at runtime, all but two of the POI objects are destroyed. Can't figure out why. Any ideas?
     
  15. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Are you switching between scenes? If you do, try enabling the POI property "Don't Destroy On Load". Otherwise I can't think of any reason for the POI to be removed: some other script must be doing that.
     
  16. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    It even happens in the Demo scene after I add several more POIs -- they're all there, configured, and then at runtime, all but two disappear. See screenshots.

    edit.png
    runtime.png
     
  17. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Out of curiosity, do the two that don't disappear have apostrophes in the visited text / title? Wonder if that could be the issue. I know I've had issues before with having punctuation in names and had to put in special code to deal with it. Not sure if that is problem here, but noticed it and figured it might be worth a check.. :)
     
  18. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    they all have apostrophes' -- in fact in the demo scene, they all have the same text in the POI inspector fields. (In my game scene, the text is different, though, so that's not the issue.)
     
    BackwoodsGaming likes this.
  19. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Well, the demo has a specific code that destroys the POI as you get to them.

    Open the script "Level Manager" (attached to the Demo gameObject) and remove this code:

    Code (CSharp):
    1.     IEnumerator RemovePOI(CompassProPOI poi) {
    2.             while(poi.transform.position.y < 5) {
    3.                 poi.transform.position += Vector3.up * Time.deltaTime;
    4.                 poi.transform.localScale *= 0.9f;
    5.                 yield return new WaitForEndOfFrame();
    6.             }
    7.             Destroy (poi.gameObject);
    8.         }
    9.  
    Also remove the call to the above method from POIVisited:

    Code (CSharp):
    1.         void POIVisited(CompassProPOI poi) {
    2.             Debug.Log (poi.title + " has been reached.");
    3.     -->        StartCoroutine(RemovePOI(poi));
    4.             AddRandomPOI();
    5.         }
    6.  
     
    BackwoodsGaming likes this.
  20. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    You mean the SceneManager script? In the Demo scene, that says "The associated script cannot be loaded. Please fix any compile errors and assign a valid script." But...there are no compiler errors. Anyways, now I've made those two edits to the SceneManager script, and now I DO get a compiler error:

    Assets/CompassNavigatorPro/Demo/Sources/Scripts/SceneManager.cs(25,28): error CS0103: The name `POIVisited' does not exist in the current context


    But that disappears if I delete this line also:

    // Add a callback when POIs are reached
    compass.OnPOIVisited += POIVisited;

    Unfortunately, even after doing that, most of the POIs are destroyed at runtime.

    EDIT: Oh, and the Demo/SceneManager still has that warning on it, so I guess it's still not compiling?
     
  21. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    You need to use the package I sent to you. It was submitted a few days ago to the Asset Store but it's not available yet.

    Or send me a package with your scene/project and I'll fix that for you.
     
  22. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I was using that, but I deleted it from the project, reimported, and now the LevelManager script is on the Demo object, with no warnings -- but the Demo scene had the same problem. But after some fussing and reconstructing all the POIs, it works now. Dunno what the problem was, but hopefully it won't come back .

    thanks
    Dave
     
    Kronnect likes this.
  23. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    The POI distance readout shows one decimal point, which is overly precise for our needs. Is there a way to change it so it shows no decimals?
     
  24. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Sure, just edit CompassProPrivate.cs, line 430. Change:

    Code (CSharp):
    1. titleText.Append (Mathf.Sqrt (distancePlanarSQR).ToString ("F1"));
    with

    Code (CSharp):
    1. titleText.Append (Mathf.Sqrt (distancePlanarSQR).ToString ("F0"));
    Basically the F0 means "Fixed format with 0 decimals".

    Cheers!
     
  25. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    thanks!
     
  26. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I would like it to be easier to make the POI labels appear -- that is, I don't have to be looking exactly at the POI for it's label to appear, but increase that by a few degrees. (Beta testers complained that it was too finicky.) Is there a way to do that?
     
    Kronnect likes this.
  27. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Yep, will be added in next update (very soon).
     
    gecko likes this.
  28. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,698
    I forgot to mention when Quest Machine 1.0.3 released last week that it now has Compass Navigator Pro support! I've found Compass Navigator Pro to be a really nice way to navigate quest objectives.
     
    Mark_01 and Kronnect like this.
  29. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Awesome!
     
  30. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Version 3.0 adds mini-map features. Beta available on kronnect.com forum.
     
  31. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
  32. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Something is very off in my Location Discovered font. It doesn't matter which font I use. And how do I get rid of the shadows?

     
  33. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi, update to the new 3.2 version and disable the "Text Shadow" option:

     
  34. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Where do I find version 3.2? Because a Reimport only gives me 3.1 (the current version in the Asset Store).
     
  35. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Sorry, I'm an idiot. I now see the Update button in the Asset Store.
     
  36. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    The shadow can now be turned off, but the font kerning is still way off. How come?
     
  37. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Just to test properly, could you please send me the font you're using?
     
  38. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    I *think* it's because I need to child it to the game canvas to render it below some UI elements. I'm investigating this further, unless you have a great tip to share. I do notice oddities in the resolution used. 180 pixels in the childed compass is as wide as 360 pixels in my actual canvas.
     
  39. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Yes, this is the issue. CompassNavigatorPro doesn't like to be the child of another canvas. Then resolutions and scales get mixed and everything goes wrong. Maybe you want to add a warning in the manual stating this.

    There's a limitation with the minimap: I'd like to use the solid box and *around* that box put a frame, but the border texture always gets rendered inside the box. I want it around it. Just adding an image as a child doesn't cut it: scaling issues again.

     
  40. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    I.e. what looks like this in the scene and game view of Unity (by adding an extra Image in the CompassNavigatorPro hierarchy)...



    ...becomes this in the actual build:

     
  41. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    For the public record: the dev came back to me in private and the font issue was resolved right away. That only leaves the frame issue above. Great service so far! Thank you very much.

    Looking forward to a solution for the frame.
     
  42. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    And that got solved too. Fantastic support! All developers should be like this.
     
    Kronnect likes this.
  43. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Would it be possible to have an icon showing the player's current location on the map?
     
  44. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Do you mean changing the default arrow icon?
     
  45. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Ah, wait.... mine has disappeared. I probably dragged it to the wrong parent. Checking!
     
  46. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Mmmh... any idea why I get this?

     
  47. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    You have two “CompassIcon (Clone)” under the MiniMap. Leave one and adjust the anchors so the rect fills the entire parent area and the pivot is at Center.
     
    Last edited: Jan 26, 2019
    LoekvanKooten likes this.
  48. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Ah, thank you. Basically I had to kill all clones (this only works if CompassNavigatorPro is temporarily deactivated, even in Scene view), drag CameraCompass under the MiniMap root and then resize the Rect.
     
    Kronnect likes this.
  49. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Coming soon: compass bar bending option! :)

     
    gecko and LoekvanKooten like this.
  50. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    V4.4 is now available which includes many cumulative changes and introduces a whole new mini-map and fog of war system.

    The mini-map is designed for performance. It uses a non-persistent zenithal camera to take snapshots of the map area and updates it according to predefined rules (continuosly, time interval, distance travelled or even with a function call).

    This mini-map gadget can be positioned/resized anywhere on the screen, can show zoom in/out/maximize buttons and more.

    The fog of war mini-map options allows you to clear the mini-map around the player as it moves. You can change the opacity of the fog-of-war layer in the mini-map at any position or add "volumes" of custom opacity that can be instantly discovered. Lot of options :)

    Enjoy!