3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
||||||
1 | ||||||
Не работает поиск GameObject.FindGameObjectWithTag04.05.2020, 19:32. Показов 2919. Ответов 18
Суть проблемы в том что такой поиск не работает если объект не на сцене.
Находил какие то бубны про Resources.LoadAll() или создавать какието папки (уже всё создано и разложено по папкам, осталось только достать) Resources.FindObjectsOfTypeAll тоже не понял как пользоваться. Если есть простое решение напишите пожалуйста строкой кода. Если targetFollow объявить public и у редакторе юнити просто перетащить то всё работает. Как обойтись без этого?
0
|
04.05.2020, 19:32 | |
Ответы с готовыми решениями:
18
Как получить из кода GameObject, прикреплённый к другому GameObject? Внутри GameObject создать новый GameObject GameObject.renderer не работает Gameobject |
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
|
04.05.2020, 20:21 [ТС] | 3 |
В префабах есть объект с именем Player. Как его достать ?
var prefab = Resources.Load<GameObject>("Путь к файлу или название объекта?"); Что нужно написать чтобы обратиться к нему как к объекту ? Или в ассетах надо создать прямо папку Resources ?
0
|
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
|
04.05.2020, 20:29 [ТС] | 5 |
Не работает
0
|
13 / 10 / 3
Регистрация: 01.01.2020
Сообщений: 85
|
|
05.05.2020, 12:50 | 6 |
Можно же просто создать паблик переменную типа GameObject и в инспекторе присвоить ей префаб. Потом эту переменную писать при создании объекта
0
|
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
|
10.05.2020, 19:17 [ТС] | 7 |
Можно. То есть нет никакого способа достать из ресурсов объект? Все до единого объекта надо свалить в сцену ?
0
|
13 / 10 / 3
Регистрация: 01.01.2020
Сообщений: 85
|
|
10.05.2020, 19:22 | 8 |
Так сам префаб не должен быть на сцене. Он может лежать в папках, где твои текстуры, коды и т.д.
А если такое тебя всё равно не устраивает, то посмотри комент 1max1. Ты спрашивал на доли создавать папку Resources. Ответ да. Только название должно строго быть таким как он написал. Ели хочешь узнать об этом больше, посмотри документацию о Resources.Load
0
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||||||
10.05.2020, 19:55 | 9 | |||||
Он и не должен искать объект чёрт знает где, кроме иерархии. Чтобы он нашел объект с тегом "Player", нужно создать сам объект в иерархии любым доступным способом (перетащить прямо в сцену; загрузить с ресурсов и создать).
1max1 сообщил Вам как найти объект в ресурсах. Не знаю что Вы там с этим кодом делаете, но создать и найти созданный объект можно так:
0
|
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
||||||
10.05.2020, 20:22 [ТС] | 10 | |||||
Я бы рад перетащить, да хрен получается.
Допустим я из префаба добавил объект в скрипт. Чтобы им управлять. №1 У него есть 4 системы частиц - №2 Перетаскивание частиц туда вручную с объекта №1 не работает. Типы соответствуют. Более того у меня есть система частиц двигателя, которая такой же объект как и эти 4, и она работает. Все объекты с которыми работаю имеют теги.
0
|
13 / 10 / 3
Регистрация: 01.01.2020
Сообщений: 85
|
|
10.05.2020, 20:33 | 11 |
Так вы в этом коде ищете префаб в папках или через паблик переменную перетягиваете?В этом коде ни того ни того не вижу
0
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||||||
10.05.2020, 21:00 | 12 | |||||
Вы не ищите объекты по тегам в Вашем коде (transform.Find). Да и не нужны эти теги везде.
0
|
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
|
10.05.2020, 21:10 [ТС] | 13 |
К моему сожалению они давно уже там. Они в общем префабе плеера, являются его частью.
Или предлагаете их порвать на отдельные объекты? Cliffster Добавлено через 1 минуту Вы правы, никак не притягиваю, в это и проблема. Если бы нашёл как это сделать, не написал бы сюда. Поэтому прошу помочь если знаете как.
0
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
|
10.05.2020, 21:15 | 14 |
Киньте проект. Мы так можем общаться очень долго Там сразу будет заметно что Вы пытаетесь сделать и как. А то на словах можно только догадываться )))
0
|
13 / 10 / 3
Регистрация: 01.01.2020
Сообщений: 85
|
|
10.05.2020, 21:16 | 15 |
https://docs.unity3d.com/Scrip... .Load.html
Это всё что я могу вам дать. Если у вас так и не получается достать префаб из папок, значит вы что-то делаете не так. Сверьте всё wmysterio правильно говорит!
0
|
3352 / 1768 / 1025
Регистрация: 26.10.2018
Сообщений: 5,197
|
|
10.05.2020, 21:49 | 16 |
Нельзя загрузить часть внутри префаба (его ребенка), ты должен загрузить сначала весь префаб, а потом уже через GetChild взять то что надо.
Добавлено через 21 секунду Или порезать на куски.
0
|
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
|
11.05.2020, 06:34 [ТС] | 17 |
Всем большое спасибо за ответы. У меня часовой пояс +7.
Сегодня буду пробовать всё что советовали сделать и прочитать. 1max1, я понял. у меня инстантиэтится корабль. Внутри него несколько систем частиц этих. Буду пробовать. отпишусь.
0
|
3 / 3 / 0
Регистрация: 02.12.2018
Сообщений: 58
|
|
17.05.2020, 15:16 [ТС] | 18 |
В общем запихнул пока всё в кучу и пока работает.
Добираюсь таким образом: drv = gameObject.transform.Find("Drive").gameObject; DriveFire = drv.GetComponent<ParticleSystem>(); Через ресурсы кто то писал, пока ничег оне получилось, не понимаю как загрузить объект которого нет в иерархии потому что он там не нужен. (SetActive и без вариантов?) Если есть пример такой подгрузки было бы интересно посомтреть.
0
|
3352 / 1768 / 1025
Регистрация: 26.10.2018
Сообщений: 5,197
|
|
17.05.2020, 15:32 | 19 |
Посмотри видео про Resources там всё элементарно...
0
|
17.05.2020, 15:32 | |
17.05.2020, 15:32 | |
Помогаю со студенческими работами здесь
19
GameObject на gameObject Работа с gameObject Сериализовать GameObject Массив gameObject gameObject.collider2d Удаление gameobject C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |