Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36

Поиск объектов по маске

18.12.2018, 18:24. Показов 5230. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья!

Есть задача:
найти несколько объектов, созданные скриптом (при создании я даю нужные имена) и воздействовать на них.

Гугл пишет, что можно использовать теги. Но уж как-то это замарочено (tag manager и все такое).
Неужели нет способа найти объекты с помощью GameObject.Find по маске, например: ****object, загнать найденные в массив и управлять ими?


Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2018, 18:24
Ответы с готовыми решениями:

Поиск лишних объектов
Доброго времени дня. Дело в том, что я новичек и не знаю как отследить объекты. Пробовал работать с профайлером и единственное что мне...

Поиск объектов на сцене
Как проверить наличие на сцене 2х объектов с одинаковыми названиями?Мне нужно чтобы за каждый одинаковый объект из переменной вычиталось...

Поиск и уничтожение объектов по тегу
Здравствуйте , не могу понять как сделать код для уничтожения всех объектов с одним тегом. Допустим есть 12 объектов с тегом X и нужно...

11
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
18.12.2018, 18:35
Лучший ответ Сообщение было отмечено NoobUnityCoder как решение

Решение

А при создании в массив загнать никак?
Цитата Сообщение от NoobUnityCoder Посмотреть сообщение
Гугл пишет, что можно использовать теги. Но уж как-то это замарочено (tag manager и все такое).
Абсолютно не заморочено.
C#
1
2
var go = new GameObject();
go.tag = "object";
C#
1
var objects = GameObject.FindGameObjectsWithTag("object");
1
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36
18.12.2018, 18:41  [ТС]
Цитата Сообщение от 1max1 Посмотреть сообщение
1
2
var go = new GameObject();
go.tag = "object";
Я так и делаю:
C#
1
2
var f_goz = new GameObject("f_line" + f_childs);
f_goz.tag = "tag_" + f_childs;  // назначаю тег tag_10
Но ругается при создании:
Tag: tag_10 (UnityEngine.GameObject) is not defined.
UnityEngine.GameObject:set_tag(String)
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
18.12.2018, 18:53
Потому что теги нужно добавлять в список в редакторе.
0
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36
18.12.2018, 19:17  [ТС]
Теги, видимо сюда сврятли подходят, ибо они создаются динамически. Их количество и имена, заранее неизвестны. По этому, я не могу их вписать в редактор.

Либо, их надо добавлять как-то в tag manager по ходу выполнения скрипта (это я и назвал заморочкой).

Отсюда, у меня и возник вопрос: можно ли иным способом найти объекты по заданной маске?
При условии, что начало имени объектов мне известно.

Например:

blabla_1
blabla_2
blabla_3
blabla_4
bloblo_1
bloblo_2
bloblo_3
bloblo_4

Мне нужно найти все ******_1

Добавлено через 7 минут
Перелопатил всю документацию.
Короче, по маске искать невозможно.
Придется марочиться с тегами.

Спасибо за ответы, дружище!
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
18.12.2018, 20:20
Создаешь пустышку динамически, потом вешаешь в дочернии все свои блаблабла, потом по имени находишь пустышку и там уже можно по детишкам пройтись в цикле.
0
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36
18.12.2018, 20:30  [ТС]
Нет. Это не годится.
Заморочено, яж грю.
Поиском по маске, было бы гораздо удобней, согласись.

Как найду решение - отпишу.
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
18.12.2018, 20:42
Ну кому как... ты наверное слишком казуальный))
Еще вариант:
C#
1
2
3
4
5
6
7
foreach (var go in (Resources.FindObjectsOfTypeAll<GameObject>() as GameObject[]))
{
    if (go.name.Contains(mask)
    {
        // action
    }
}
Вообще для нормальной маски нужен regex, но я думаю для тебе будет слишком заморочено))))
0
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36
18.12.2018, 21:49  [ТС]
Может я и казуальный, конечно. Но я не один я такой.

Поиск по маске

Похоже, что Regex - это как раз - то, что я искал.
Буду разбираться.

Спасибо!
0
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36
23.12.2018, 21:39  [ТС]
К сожалению Regex не подошел((

Поставлю вопрос иначе:

Есть несколько объектов с одинаковыми именами. Мне нужно их найти и все вместе передвинуть. (Двигаю через Update).

Есть идеи?
0
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 36
06.01.2019, 03:58  [ТС]
РЕШЕНО.

Кому надо - вот рецепт:
Динамическое создание тегов
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
06.01.2019, 12:58
NoobUnityCoder, сам поиск по тегам - плохая вещь. Проще держать списки объектов, которые обновляются при инстансе/дестрое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.01.2019, 12:58
Помогаю со студенческими работами здесь

Поиск по БД по маске
Имеется прога, которая производит поиск по БД, основываясь на данных в ListBox, ну да это не важно. А важно, что я не могу найти, как мне...

Поиск по маске
Требуется разработать скрипт для поиска и удаления на заданном диске или в заданной папке всех файлов, имена которых соответствуют заданной...

Поиск по маске
Доброий день! Как в word vba организовать поиск по маске &quot;Т???&quot;, пропустив найденое слово Тема

Поиск по маске
Необходимо реализовать поиск по маске в тексте. Думаю уже реализовано такое, но найти не могу на шарпе. На Visual Basic нашел тут Мне...

Корректный поиск в БД по маске
Всем доброе время суток. Прощу Вашей помощи, так как совсем запутался. Дело вот в чём, пишу программу (оболочка для БД MS Access) на C# с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru