1.4.7458
середина сентября — поддержка более глубоко вложенных структур
Улучшение ImageSearch — добавлена опция "Include All Matches"
Добавлена новая опция "Include All Matches". Она предназначена для некоторых редких сценариев в скриптах.
По умолчанию ImageSearch находит лучшее возможное совпадение, а затем отслеживает его перемещение — это позволяет не сканировать всё изображение на каждом кадре. Новая опция отключает такие оптимизации, и изображение полностью пересканируется на каждом тике.
Плюс в том, что вы получаете доступ сразу к нескольким найденным кандидатам и их значению similarity. Минус — производительность резко падает.
Чтобы получить доступ ко всем найденным объектам, используйте TemplateMatches, который возвращается как часть результата ImageSearchTrigger.Refresh.
public interface IImageSearchDetectionResult : ICaptureTriggerDetectionResult
{
...
/// <summary>
/// Contains an array of all successful template matches and their bounds/similarity
/// Will contain more than 1 element only if Include All Matches is enabled in ImageSearchTrigger
/// </summary>
public ImmutableArray<TemplateMatchResult> TemplateMatches { get; init; }
...
}

Это крайне тяжёлая задача для CPU. На 1920x1080 при полном сканировании вы, скорее всего, получите максимум 2–3 FPS. Это огромная разница по сравнению с ML-поиском: на том же разрешении для той же задачи он может давать до 60 FPS. Поэтому если вам действительно нужно находить несколько экземпляров одного и того же объекта, настоятельно рекомендую посмотреть в сторону обучения Yolo-модели и использовать её вместо этого.
Исправления и улучшения
- [BehaviorTrees] Немного оптимизирована работа BT с глубоко вложенными структурами, максимальная глубина увеличена с 64 до 1024 #EA-578 Nested tree v7444 by oddessax