The Validation system aim to improve your volumes, by minimising the number of warnings and errors generated.
The system has a few strategies to reduce issues for you to choose from, you can specify what constitutes an acceptable volume and how many attempts Volumator should make to improve your volume.
It's loosely equivalent to you manually tweaking generation settings and rebuilding volumes trying to get lower warnings/errors... except Volumator can carry out this work in almost no time!
The validation system can be used on both newly created volumes and regeneration of existing volumes.
As Volumator uses the warning/error results of a quick-test to assess volume quality, the validation system is reliant on the volume being in the expected actor location. So if Volumator detects that the volume has been moved from its expected location, it will not function and will let you know, as in the right image. It'll still build the volume, but validation will not do anything.
You can reset the volume to expected location via the Edit panel with the 'Reset Volume Location' button.
Of course volumes being moved is only a factor when regenerating existing volumes, as newly created volumes are naturally in the expected location.
The validation system runs somewhat in the background and you may not be aware of what's happening behind the scenes. This is partially because the mini-log that's displayed in the widget only shows the latest log entry, which will likely be the final 'volume created' message and you'll miss all the validation feedback.
If you want visibility into what validation is doing, open the Full Log with the button on the bottom toolbar. This will keep a running tally of volumator logs. Below you can see the full log of a volume that was regenerated with Validation on.
Starting from the bottom, we can see that the initial regeneration failed validation due to 54 warnings. It then tried to fix this with attempt 1, expanding the volume by 10 units which resulted in 32 warnings (better!). It tried again expanding to 20 units, down to 13 warnings. On validation attempt 3 it expanded by 30 which resulted in only 5 warnings, but still above our threshold. Finally on attempt 4 it got it down to 2 warnings, below the threshold, so it passed this volume and finished the generation. In the mini-log the user just sees the top line as it all happens rather quickly and that's the last message that is created.
The Validation system has it's own setting group: rather unoriginally named Validation settings .
They are covered in the Settings page, but briefly:
Warning threshold - the target number of warnings. Once a volume has been generated reduced to this many warnings or less, the system finishes and passes the volume. This is effectively your 'acceptable warning count'.
Error threshold - the same for errors. Remember, errors are more serious so natually you'll want a lower number here than your warning threshold
Validation strategy - what approach the validation system uses to improve volumes, covered below
Max attempts - how many validation attempts the system tries. Each time it will use more aggressive settings to improve things. Each attempt takes a little time, so it depends how patient you are. As with most settings in Volumator, you can push the value even higher than the top slider by typing a higher value.
Depots Retain Settings - if a depot fails tests and is rebuilt, should the new volume use the same settings (true) or the current Volumator settings (false). Usually this is true, so that any tweaks you've made to settings to tailor the volume are remembered.
This strategy simply expands the volume progressively with each attempt, 10 units at the time of writing this. This strategy is akin to progressively adding 10 to the Expand Volume amount each attempt until our error/warning count is at the threshold.
It's a good choice when you have thick walls separating areas, so expanding in all directions will likely not be a problem. Obviously, the inverse is true, if you have thin walls (e.g. glass walls) and you must have razor thin accuracy on your volumes, then this strategy is going to cause overlap into adjacent areas.
The advantage of this strategy is it's simplicity, predictability and consistency. As it's a universal expansion, the general shape of the volume stays broadly the same.
The disadvantage is that it will be expanding any areas that don't need expanding as they don't contain warnings/errors.
This volume covering a curved space has the complexity level I want (i.e. it's simple), but has many warnings on the curved section. The straight section at the bottom has no warnings.
After validating with Expand Entire Volume, the warnings have now been eliminated while the shape has stayed broadly the same. However, the entire volume has been expanded so the section on the bottom has also been expanded. If walls are thick and/or you can't access the other side of the volume, then it's likely not a problem.
This strategy takes the detected warnings locations, then finds the closest point on the volume for each warning. It will then expand out that point by a little. It then finds the second closest point and pushes that out by half the amount.
The result is that only the areas close to the warnings are modified, so a targeted expansion of the volume wherever the warnings are. This can be very effective in cases where your errors are in specific areas, rather than over the whole volume.
The downside is that as it's doing targeted changes, the actual shape of the volume is altered. The change amounts are small, but with higher attempts the shape can get quite drastically changed. If the issue with the volume is actually related to something else, e.g. a Resolution problem, then inappropriately using this strategy may result in a strange shape. It does do an incredibly good job of resolving issues, but it may cause bleed into adjacent areas.
It's also worth understanding how expand works in Volumator: during the detection phase we get a reading of the normal (angle) of the objects that are hit. When expand happens, it pushes the volume in the opposite direction of the normal. This ultimately means that if the detection point happened to be facing in a strange angle, this could cause expands on that point to not go in the direction you're expecting. They're usually generally in the right direction, but this explains why expands may not always be exactly what you're expecting.
This volume is perfect, except this one corner has some warnings where the volume doesn't quite reach the absolute extent of the corner
In orthographic Top view, we can clearly see the location of the warnings
After validating with Expand Warning Areas you can see the warnings have gone and the volume has be expanded only in that area. However, the shape has clearly changed in that area too, which is worth ensuring isn't a problem.
In these strategies the Resolution value is adjusted increasingly with each attempt, alternating between making the Resolution larger and lower.
Resolution Adder works by adding/subtracting small linear amounts and it's purpose is to wiggle around the current resolution amount trying to find a better setting but staying within the general area.
Resolution Multiple, scales the resolution by percentages and as a result can change the resolution by much larger amounts, plus scales better with larger resolution settings. It works best when you don't care if the final resolution setting is quite different to your current one, you just want the best outcome.
These straegies are handy when the Resolution setting is fiddly and resulting in imperfect shapes. This can happen when using high Resolution values to create coarse, low CPU volumes. It can also happen with highly accute angles.
These strategies can help cases where points are 'jumping' to the wrong wall, by finding the ideal Resolution setting close to your chosen Resolution amount.
The idea is that you specify your Resolution amount, usually one that's resulting in an acceptable complexity result from the volume. Then by enabling one of these validation strategies you can easily perfect the volume, minimising any issues.
After building a validated volume with a Resolution strategy, if you want to update Volumator's 'Resolution' setting with whatever the volume ended up using, remember to press 'Recall Settings From Selected Volume'. You can also check the log or run a report on the volume if you're just curious to see what it used.
This volume has a resolution of 500 (pretty coarse) but the area is highly complex with curved and acute angles, resulting in one particularly bad problem. As the resolution is higher than the space needs, the highlighted area is the result of a perimeter point jumping to the wrong wall. You can of course fix this via the Edit Vertices feature, but it's better if you can fix the problem programmatically.
After validating with Resolution Adder, Volumator found a better Resolution value (493) that alleviated the problem, creating a consistent perimeter and even improving the curves elsewhere in the volume. It's important to note that the number of triangles, complexity and general size have remained exactly the same, it's just found a better way to process the data
In this mode the Validation system will cycle through all available strategies; each attempt will move to the next strategy and start again once all have been tried. This mode is ideal when it's not clear what the best strategy to use is.
Each pass of all strategies is called a 'round', and each round the strategy gets more aggressive, in the same way as the normal strategies do with each attempt.
As it takes more attempts to get more aggressive than a single strategy would, it can take a lot more attempts to get to the same result if you knew and were to just use the 'best' strategy.
You may want to increase 'Max attempts' when using this strategy to compensate for this.
Try All is great as a general purpose strategy as it covers all your bases, but once you understand the validation system and the best way to reduce volume issues, it can be more efficient to select a specific strategy as you can use less attempts.
In this mode, Voxels (large blocks) are added to any warnings or errors that are detected. This mode is effectively a blend of perimeter and voxel generation modes, where voxels are used on problem areas. Only 1 attempt is ever carried out as this strategy directly resolves detected issues and it always results in 0 warnings and errors (unless the volume is seriously broken). The downside is that it changes the shape, potentially bleeds in to adjacent areas and increases triangle count. Voxel size is determined by Resolution.
This strategy can be a little picky about what it'll work with, sometimes failing as the resultant volume can fail integrity checks. Ideally I'll improve the algorithm here in the future.