как найти объект
|
|
andarky | Дата: Пятница, 11 Ноября 2011, 18:03 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| задача такая: в разные моменты создаются на сцене объекты (методом Instantiate, клонируя объект-заготовку с координатами 10000,1000,1000) и потом нужно например повернуть камеру к объекту <name#1> или объект <name#n> заставить вертеться или ещё что-либо. Как мне искать эти создаваемые объекты? Code var tpla = GameObject.CreatePrimitive(PrimitiveType.Plane);
создает плоскость, но: Code GameObject.Find("tpla")
не может её найти, пиша: Code Object reference not set to an instance of an object
как мне быть??Добавлено (11.11.2011, 18:03) --------------------------------------------- причем, даже если тупо в аваку вписать: Code function Awake() { var tpla = GameObject.CreatePrimitive(PrimitiveType.Plane); tpla.transform.localScale=Vector3(10,0,10); tpla.name="tpla"; } тоже неGameObjectFINDится...
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
noTformaT | Дата: Пятница, 11 Ноября 2011, 18:06 | Сообщение # 2 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (andarky) var tpla = GameObject.CreatePrimitive(PrimitiveType.Plane); tpla - уже указывает на созданный тобой "примитив плашку", но он не имеет имени
GameObject.Find - Finds a game object by name and returns it.
тогда лучше сделать так:
Code var tpla = GameObject.CreatePrimitive(PrimitiveType.Plane); //создаем объект на сцене tpla.name = "fuckingObj"; //устанавливаем для него имя
и в нужном тебе скрипте:
Code GameObject.Find("fuckingObj")
@noTformaT
|
|
| |
M1ghtMortal | Дата: Пятница, 11 Ноября 2011, 18:09 | Сообщение # 3 |
участник
Сейчас нет на сайте
| andarky, noTformaT уже ответил, и я к тому же забыл что объекты здесь передают ссылки. Просто учился на C++, а там ссылки и указатели нужно явно передавать.
Java/C++/Unity(C#) Programmer. Мой блог MightMortal.RU
Сообщение отредактировал M1ghtMortal - Пятница, 11 Ноября 2011, 18:11 |
|
| |
andarky | Дата: Пятница, 11 Ноября 2011, 18:13 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| растолкуйте, это как...? так Code public static var tpla=....
куда это писать? и вообще моя задача решаема средствами JS-скриптов?
Моя страничка по дизайну GameDev//Design//3D Ютубчик
Сообщение отредактировал andarky - Пятница, 11 Ноября 2011, 18:13 |
|
| |
noTformaT | Дата: Пятница, 11 Ноября 2011, 18:15 | Сообщение # 5 |
Ukrainian independent game developer
Сейчас нет на сайте
| andarky, расскажи толково где именно ты создаешь "объект плашку", и где ты ее пытаешься найти, это разные скрипты???
@noTformaT
|
|
| |
andarky | Дата: Пятница, 11 Ноября 2011, 18:34 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| это для примера плашка. вообще будет по триггеру OnEnter() создаваться объект с неким именем и номером (есть для этого переменная-счетчик в файле glob.js)
а потом другим триггером уничтожаются эти объекты (номер берется рандомно)
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
noTformaT | Дата: Пятница, 11 Ноября 2011, 18:36 | Сообщение # 7 |
Ukrainian independent game developer
Сейчас нет на сайте
| andarky, тогда так. Ты точно ищешь объект после того как его создал???
@noTformaT
|
|
| |
andarky | Дата: Пятница, 11 Ноября 2011, 18:44 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| дело в том что это разные скрипты. Один создает другой убивает.
И я сам прихожу к выводу, что var thpla служит только для создания и придачи параметров, а также имен thpla.name="newObjct"+glob.NumNum
возможно что и скрипты будут разные, создающий скрипт будет на C# его напишет мне программист знающий C# но абсолютно не знающий Unity. Я только допишу UNITYшные функции
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
|
andarky | Дата: Пятница, 11 Ноября 2011, 19:13 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| я пробовал создавать а Аваке а удалять по MouseDown - ругается...
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
AtomKrieg | Дата: Пятница, 11 Ноября 2011, 20:05 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| Quote (andarky) задача такая: в разные моменты создаются на сцене объекты (методом Instantiate, клонируя объект-заготовку с координатами 10000,1000,1000)
Используй префабы. http://www.youtube.com/watch?v=AYUj6kl7vBA
Quote (andarky) и потом нужно например повернуть камеру к объекту <name#1> или объект <name#n> заставить вертеться или ещё что-либо. Как мне искать эти создаваемые объекты? Вместо имени используй таги. Ты же создаешь однородные объекты. http://unity3d.com/support/documentation/ScriptReference/GameObject.FindGameObjectsWithTag.html
Сообщение отредактировал AtomKrieg - Пятница, 11 Ноября 2011, 20:05 |
|
| |
RipDev | Дата: Вторник, 15 Ноября 2011, 18:01 | Сообщение # 12 |
гейм-дизайнер
Сейчас нет на сайте
| Знаеш, у меня тоже было нечто подобное, решалось добавлением к имени (Clone). Тоесть если объект назвать name1, то искать надо по имени name1(clone).
Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
|
|
| |
andarky | Дата: Вторник, 15 Ноября 2011, 18:21 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| RipDev, да, это так. а если клонированый объект клонировать а потом еще и еще то получим : name+«(clone) (clone) (clone)» и т.д. ... ужас! а если за 256 символов перевалит?
А я вот думаю как это обойти, чтоб (clone) не прибавлялось.
Потому что у меня клоны должны также создавать свои копи при определенных условиях
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |
Zizilk | Дата: Вторник, 15 Ноября 2011, 18:26 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Хеш функция? Вроде MD5, прогоняем через неё ту нашу строчку name+«(clone) (clone) (clone) на выходе будет результат одной длины, при том уникальный (практически, теоретически конечно может вдруг так совпасть что два набора разных дадут одинаковый хеш)
Сообщение отредактировал Zizilk - Вторник, 15 Ноября 2011, 18:27 |
|
| |
RipDev | Дата: Вторник, 15 Ноября 2011, 19:17 | Сообщение # 15 |
гейм-дизайнер
Сейчас нет на сайте
| Клонировать оригинал, и изменить с учетом нового объекта?
Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
|
|
| |
andarky | Дата: Среда, 23 Ноября 2011, 10:37 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| всё! у меня заработало!
причина была в типе gameObject а я делал Transform
тему можно закрыть
Моя страничка по дизайну GameDev//Design//3D Ютубчик
|
|
| |