Greetings unity community,
This is the forum for package Procedural Indicators.
You can find the package here.
Procedural Indicators package is for ingame 3D UI indicators. For now it supports procedurally generated 3D arrows, selection paths, 3d grids and ability to slice a grid into cell regions and then color them. This is useful for rts, puzzle, turn based games, trading card games ui, especially for game tutorials.
Features 1.4
Describe arrow path and look using parameters (path, size, colour, shape, level of detail along path)
Describe arrow tip path and look using parameters (path, size, colour, shape, level of detail along path)
Arrow tips on both ends of the arrow
Arrows made of custom meshes (array of spheres or any custom mesh, etc…)
Broken arrows (Dashed) (- - - - - - - >)
Demos Include examples of changing these parameters over time (at runtime) to animate the arrows
Selection Indicators
Grid Indicators
Mesh Grid Indicators
What would be the features/indicators you would be most interested in.
Please share your thoughts about this project, any suggestions are welcome.
This actually looks pretty good, and is potentially the exact piece I need! Any future plans for it? I’d hate for something this promising to be stillborn.
Hello,
Thanks for the feedback. If you have any specific indicators that you would like to see incorporated into this package please tell me.
Project is still ongoing. Updates are made in a following process Code-> Demo that shows all features → Bugfixes-> DocUpdate
Right now selection paths are in the creating demo phase.
Selection circles can be fullpath, broken, and made of shapes just like arrows.
They can have circular path, square path, custom path (later update will add auto outline caluclator path).
All paths can project to ground (or any other object with colliders)
Fantastic! There doesn’t appear to be anything else on the asset store that does this, so don’t get discouraged! I’m just getting started with it, but that sounds great to me. I’ll try to give more feedback once I have the chance to use it!
One quick idea, is there a way to a “made of shapes” point array path, but rather than having a shape at a fixed distance, it instead places a shape at each point in the array? I’m working with a hex grid, and so have irregular distances between my tiles. I can work around it for now (by using another path type, or defining the custom distance array each time), and I know it would only be valid for a one specific path type (wouldn’t really work for function), but it would be useful.
Will add that option it in the next version, for now you can use script with same made of shape object x number of points (number of instances of different object) then set the distance for each object. If its the same object it should reuse it. Will test this tommorow.
Checked, it turns out every custom shape regenerates. If it is not a big number of points it should still be fine.
If you run into performance issues you can transfer for loop in line 443 to your script and call it only once.
New version has been submitted. It includes a new feature selection paths. Selection paths have similar options like arrow paths but are closed and can project to ground. They can be used to select objects or to define a region on terrain.
Also made of shapes arrows now have an option AtPathPoints that will generate shapes at each path point rather than the fixed distance as PixelHero suggested
New version has been submitted. Arrows can now use path arrays which enables them to be projected on ground like selection circles. Added a shader that is much brighter and it is not effected by light. Fixed normals on all shapes. Added a flat shade extrude for arrows.
Working on next version that will have a 3d mesh grid placement indicator.
Version 1.3 of procedural indicators has been published to the Asset Store (Pending review, will be released soon)
All procedural meshes, arrow paths, tips patharrays are now drawn in the scene (when selected OnSceneGUI()).
It is also posible to save them as pernament meshes.
New features look like this
Grid mesh indicator is still in progress. It will enable colloring the specific part of mesh in a grid for placement in the 3D world. Currently struggling with shader limitations for a maximum 101010 grid.
For those having problems with LWRP.
Procedural indicators meshes have vertex colors.
Standard shader cogobyte is used to render these vertex colors.
Lwrp doesnt work for standard shaders. You need lwrp shaders.
Any lwrp shader that uses mesh vertex colors will do.
Until the next version of Procedural Indicators you can use one of the several lwrp shaders that are provided in the attachments.
You will probably want to use the Transparent version as it looks best (most similar to the old cogobyte shiny SRP shader), opaque is darker and use it you don’t want the arrows to be see through. Bright uses both emission and albedo from vertex colors. Just drag all the downloaded shaders to project and switch them on the material you are using for the arrow.
Currently, these shaders are either opaque or transparent. They cannot have gradient transparency.
These shaders (or improved versions of them) will be in the next version of Procedural Indicators.
I’m working on a larger update (complete rework of the arrow system) that will also work for urp and hdrp for version 2020.3 LTS+
I will need a month or two to complete everything and test and wait for asset store confirmation.
The project will switch from scriptable objects to pure prefabs with scripts, with better UI for in editor editing which will make it easier for non programmers. New code won’t be backward compatible with the older version (it’s a big jump from unity 5.4 to 2020.3).
The most important thing is that the project is not dead, and will be much more usable.
Meanwhile, I will set the fix for handles here for you so it has no compile errors.
These boxes are just points used to visualize vertices. So if you just remove them, the arrows will compile and work but you will not be able to preview their vertex shape before the arrow is rendered at runtime. Also, you will not be able to see the points of the path.
I need to find the replacement function for this and will post it here.
Just for reference which version of unity are you using?
I fixed the compiling issues. For everyone having problem with compiling errors these are the things you need to fix.
Replace the SceneView.onSceneGUIDelegate with SceneView.duringSceneGui. These are given as warnings.
Replace the compiling error lines of Handles.DotCap with Handles.DotHandleCap
Replace the compiling error lines of Handles.CubeCap with Handles.CubeHandleCap and as a last parameter add EventType.Repaint.