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

Взаимодействие с объектами скрипта который ни к чему не прикреплен

12.04.2019, 12:02. Показов 4492. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На сцене есть тайлмап, в котором есть префабы тайлов, но в начале самой сцены они еще на нее не помещены. Есть скрипт, который по определенному алгоритму создает эти тайлы. Когда скрипт висит, например, на камере, то получить ссылки на тайлмап и его тайлы для обработки в самом скрипте легко, просто создаю public переменные и в самом Unity перетаскиваю все в соответствующие ячейки. А как можно получить ссылки на тайлмап и его тайлы, если скрипт ни к чему не прикреплен? Например я решил отвязать его от камеры и просто вызывать публичную функцию из него в каком-нибудь другом скрипте. Тогда никаких ячеек для объектов в самом Unity нет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2019, 12:02
Ответы с готовыми решениями:

Взаимодействие между 3д объектами
Здравствуйте! Создаю 3д модель. И вот нужно, чтобы некий кран мог перетаскивать пластины с помощью присосок. Пластины в разных частях...

Взаимодействие с объектами класса
Здравствуйте. Подскажите, пожалуйста, 1) как обратиться к объекту класса, созданному в виде new ИмяКласса(), то есть к объекту без...

Взаимодействие с несозданными объектами
Здравствуйте! Немного об игровой логике, а именно взаимодействии объектов. Допустим, что есть класс Unit, в котором прописана всякая...

6
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
12.04.2019, 12:59
https://docs.unity3d.com/Scrip... .Load.html для загрузки префабов из папки Resources.
https://docs.unity3d.com/Scrip... .Find.html для поиска объектов на сцене по имени.
0
 Аватар для LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
12.04.2019, 13:19  [ТС]
Похоже Resources.Load не знает что такое TileMap. Да и непонятно что загружать. Относительно самого тайлмапа в ассетах проекта есть только .meta файл. А без самого тайлмапа префабы тайлов по-моему бесполезны. Ведь работа с ними идет через GetTile и SetTile, а они относятся к тайлмапу. Поиском пользоваться не хотелось бы. Проще тогда уж оставить скрипт весящим на камере или пустом геймобжекте. Я хотел именно уйти и от поиска и от висящего скрипта. Такое возможно?
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
12.04.2019, 13:24
Получить ссылку не пользуясь поиском и при этом не используя заполнение полей?))
Если найдешь способ, напишешь)))
0
 Аватар для LamerOnLine
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
12.04.2019, 13:47  [ТС]
Не совсем так. Я не против заполнения полей. Я хочу именно уйти от скрипта, висящего на объекте. Только вот если скрипт не висит на объекте, то даже если в нем объявлены публичные переменные для объектов, то поля почему-то не заполняются. Просто если есть скрипты, которые можно однозначно связать с каким то объектом, вроде скрипта перемещения персонажа или скрипта перемещения главной камеры, то есть скрипты которые с конкретным объектом не ассоциируются. Например у меня скрипт генерации уровня. Он использует несколько тайлмапов одновременно. Если его повесить на все тайлмапы, то получится белеберда, мой скрипт не заточен под такое. А если его повесить на какой-то конкретный тайлмап, то потом, если что-то изменится, надо вспоминать - на каком же именно тайлмапе он висит. Я хочу такие скрипты сделать просто как скрипты, функции из которых я просто буду вызывать, когда нужно. Но вот что-то они не принимают в поля для объектов ничего. Может я что-то не так делаю? Поля есть, но объекты в них не переносятся. А если повесить этот скрипт, ничего не меняя в коде, на любой объект, то сразу все начинает заполняться и работать.
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
12.04.2019, 15:05
Монобехи не могут существовать сами по себе, они должны быть связаны с объектом. Хотя есть некоторые атрибуты, которые могут это позволить. Попробуй загружать свои мапы через https://docs.unity3d.com/Scrip... tPath.html
C#
1
2
3
4
5
6
7
8
9
10
class General
{
    public static Tilemap tilemap;
 
    [UnityEngine.RuntimeInitializeOnLoadMethod]
    static void Initialize()
    {
        tilemap = (Tilemap)AssetDatabase.LoadAssetAtPath("Assets/tilemap.расширение не помню", typeof(Tilemap));
    }
}
1
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
13.04.2019, 13:02
LamerOnLine, холдер для монобеха всё равно нужен. Можно в статик классе сделать, но это неправильный вариант.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2019, 13:02
Помогаю со студенческими работами здесь

Взаимодействие CharacterController с другими объектами
Всем игроделам привет! Интересует вопрос: на персонаже висит CharacterController и всё движение происходит благодаря ему. Движение работает...

Взаимодействие между объектами в классах
Здрасте! У меня есть прога для регулирования расходов, в которой есть класс Account и класс Category. Есть ещё классы ManageAccounts(для...

Как организовать взаимодействие между объектами
В панели динамически создаю textBox (для примера) private void button1_Click(object sender, EventArgs e) { ...

Взаимодействие между объектами разных классов
Ребят, не могу найти как сделать. Например: есть два класса. Зергушонок и Недозилок, у которых есть свои данные. И нужно реализовать...

Взаимодействие между объектами единой иерархии классов
Здравствуйте. У меня есть некоторый базовый класс window, который создает "окно" и представляет функции доступа к нему для...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru