| 
				
				как найти объект
				 | 
 | 
| 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   Ютубчик  
 |  
| 
 | 
 |    |