Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Dj_FroZTBite | Дата: Пятница, 14 Августа 2015, 21:16 | Сообщение # 7281 |
Серебряная душа
Сейчас нет на сайте
| ivan2009, можно убрать его из дочерних и уравнять в скрипте позиции transform по x y z позициям персонажа. Синтаксис найдёшь в базе знаний Unity
Рук нет, есть только кривые культяпки.
|
|
| |
кое-кто | Дата: Воскресенье, 16 Августа 2015, 19:39 | Сообщение # 7282 |
Сейчас нет на сайте
| Можно ли сделать в unity так чтобы у объекта была копия скрипта которая могла бы взаимодействовать с оригиналом? Пример: 1.int people = 50; 2. С осн. базы выходят 30 человек и создают базу 2. 3. Тем временем с базы врага выходят 10 и создают еще одну базу врага. 4. Потом с базы 2 выходят 20 человек и создают базу 3.
Сообщение отредактировал кое-кто - Воскресенье, 16 Августа 2015, 19:49 |
|
| |
pixeye | Дата: Воскресенье, 16 Августа 2015, 20:02 | Сообщение # 7283 |
Red Winter Software
Сейчас нет на сайте
| Цитата кое-кто ( ) Можно ли сделать в unity так чтобы у объекта была копия скрипта которая могла бы взаимодействовать с оригиналом? Пример: 1.int people = 50; 2. С осн. базы выходят 30 человек и создают базу 2. 3. Тем временем с базы врага выходят 10 и создают еще одну базу врага. 4. Потом с базы 2 выходят 20 человек и создают базу 3.
Создаешь класс Базы и экземпляры этой базы.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
beril | Дата: Воскресенье, 16 Августа 2015, 20:02 | Сообщение # 7284 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Если правильно понял; создаешь класс помечаешь его атрибутом [Serializable]. Делаешь List<твой класс с атрибутом Serializable> и добавляешь экземпляры класса базы, сколько тебе необходимо
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
кое-кто | Дата: Воскресенье, 16 Августа 2015, 20:24 | Сообщение # 7285 |
Сейчас нет на сайте
| Цитата pixeye ( ) Создаешь класс Базы и экземпляры этой базы. Я тоже сначала так думал. Но как сделать чтобы экземпляр создавался сам для каждого объекта?
Сообщение отредактировал кое-кто - Воскресенье, 16 Августа 2015, 20:26 |
|
| |
seaman | Дата: Воскресенье, 16 Августа 2015, 20:29 | Сообщение # 7286 |
старожил
Сейчас нет на сайте
| Делаешь префаб с повешенныи на объект нужным скриптом. При создании объекта из этого префаба автоматом на нем создается экземпляр скрипта.
|
|
| |
кое-кто | Дата: Воскресенье, 16 Августа 2015, 20:36 | Сообщение # 7287 |
Сейчас нет на сайте
| Цитата seaman ( ) При создании объекта из этого префаба автоматом на нем создается экземпляр скрипта. А как сделать чтоб они (префабы с одинаковыми скриптами) с друг другом могли взаимодействовать?
Сообщение отредактировал кое-кто - Воскресенье, 16 Августа 2015, 20:47 |
|
| |
pixeye | Дата: Воскресенье, 16 Августа 2015, 20:47 | Сообщение # 7288 |
Red Winter Software
Сейчас нет на сайте
| Цитата кое-кто ( ) А как сделать чтоб они (префабы с одинаковыми скриптами) с друг другом взаимодействовали?
Очень много вариантов.
Один из них. Прошу учесть что это просто груьый набросок, для понимания направления.
Создаешь глобальный список всех баз. По какому-то принципу добавляешь новые базы в список ( у меня по активации добавляется база, по деактивации объекта удаляется из списка ) Половина дела сделана.
Дальше ты можешь по разным критериям находить базы. У меня цифровой ID - ты можешь их в инспекторе назадавать или динамически присваивать. Или по другим параметрам искать. А дальше собственно уже поиск и получение твоей базы.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
кое-кто | Дата: Воскресенье, 16 Августа 2015, 20:50 | Сообщение # 7289 |
Сейчас нет на сайте
| pixeye, Спасибо, вопрос закрыт!
Сообщение отредактировал кое-кто - Воскресенье, 16 Августа 2015, 20:51 |
|
| |
Novatorvlad | Дата: Понедельник, 17 Августа 2015, 12:55 | Сообщение # 7290 |
постоянный участник
Сейчас нет на сайте
| Возникла проблемка, копаться самому лень, погуглив же ничего не нашел, может тут знает кто. В общем не работают джойстики из CrossPlatformInput в ведроиде. Из редактора ходится и крутится все отлично. Тачи хоть и работают, но тоже довольно криво. В скрипте самого стика заменил только OnEnable() на Start(). Из моих действий - скопировал префаб с одним стиком, EventSystem и FPSController в сцену, в менюшке нажал Mobile Input -> enable. Есть у кого какие соображения? Тестил на двух мобилках, на обоих одинаковая проблема. Думаю создать новый проект или переустановить винду, может поможет.
Девбложек
|
|
| |
x_Medwed | Дата: Вторник, 18 Августа 2015, 19:32 | Сообщение # 7291 |
постоянный участник
Сейчас нет на сайте
| А я так понял в Unity Нельзя напрямую Сериализовать GameObject? Только параметр объекта?
И да еще вопрос Есть массив GameObject, и нужно массиву Vectror3, присвоить позицию объекта с первого массива. Как реализовать это через цикл или может еще ка кто???
И еще вопрос Можно в обще Сериализовать Массивы?
Добавлено (18 августа 2015, 19:32) --------------------------------------------- Неужели некто не может подсказать?
Сообщение отредактировал x_Medwed - Понедельник, 24 Августа 2015, 21:38 |
|
| |
MANMANA | Дата: Среда, 19 Августа 2015, 04:58 | Сообщение # 7292 |
почти ветеран
Сейчас нет на сайте
| Цитата x_Medwed ( ) И еще вопрос Можно в обще Сериализовать Массивы? http://forum.unity3d.com/threads.....155352
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Vesterix | Дата: Среда, 19 Августа 2015, 16:22 | Сообщение # 7293 |
частый гость
Сейчас нет на сайте
| Возникла проблема, есть гейм обжект, к нему прикреплен колайдер, скрипт и привязан спрайт. При нажатии на спрайт выполняется такой код Код void OnMouseDown() { transform.position = new Vector3 (transform.position.x + 2, 0, 0); } При запуске проекта с юнити все работает хорошо, если собрать и выбрать максимальное разрешение то все тоже работает, а вот если уже меньше то получается что колайдер смещен влево, относительно спрайта, следственно нажатие теперь обрабатывается не при клике на спрайте а при клике на пустое место возле спрайта. Притом при нажатии спрайт и колайдер исправно сдвигаются влево, но расстояние между ними остается. Почему такое происходить, и как исправить?
|
|
| |
NEBR | Дата: Среда, 19 Августа 2015, 16:55 | Сообщение # 7294 |
почти ветеран
Сейчас нет на сайте
| Цитата Vesterix ( ) При запуске проекта с юнити все работает хорошо, если собрать и выбрать максимальное разрешение то все тоже работает, а вот если уже меньше то получается что колайдер смещен влево, относительно спрайта, следственно нажатие теперь обрабатывается не при клике на спрайте а при клике на пустое место возле спрайта. Притом при нажатии спрайт и колайдер исправно сдвигаются влево, но расстояние между ними остается. Почему такое происходить, и как исправить?
Используй BoxCollider2d на самом спрайте (судя из описания у тебя скорее всего обычный BoxCollider)
King Size #Gamiron12
|
|
| |
Vesterix | Дата: Среда, 19 Августа 2015, 17:04 | Сообщение # 7295 |
частый гость
Сейчас нет на сайте
| Цитата NEBR ( ) Используй BoxCollider2d на самом спрайте (судя из описания у тебя скорее всего обычный BoxCollider) Использую именно BoxCollider2d, при этом что на спрайт вешаю что на объект, результат тот самый.
|
|
| |
Necrolich | Дата: Четверг, 20 Августа 2015, 13:01 | Сообщение # 7296 |
почетный гость
Сейчас нет на сайте
| Проблемы с UI. Как изменить текст в UI?(У меня вылезает ошибка "NullReferenceException: Object reference not set to an instance of an object PlayerController.Update () (at Assets/scripts/Game/Player/PlayerController.cs:30)" Код в спойлере.
|
|
| |
x_Medwed | Дата: Четверг, 20 Августа 2015, 23:57 | Сообщение # 7297 |
постоянный участник
Сейчас нет на сайте
| Добрый день Есть задача сделать проверку массива объектов на дистанцию и угол поворота относительно объекта.
Дистанцию и угол поворота я разобрался как получить от объекта. А вот как теперь перебрать массив объектов, и если в процессии перебора объектов угол и дистанция нас устраивает то выбрать его. Вот в этом не могу разобраться, может кто подскажет? А то пробовал так вис нит Unity)) Код public float RotationTawerAttack; public float DistansAttack; public bool Fire = false; public GameObject[] _Mobs;
void RotationEndDistansMobs() { _Mobs = GameObject.FindGameObjectsWithTag("Mobs"); for (byte i = 0; i <_Mobs.Length; i++) { _Dot = Vector3.Angle(Vector3.forward, _Mobs[i].transform.position); _Dist = Vector3.Distance(Tawer.position, _Mobs[i].transform.position); int r = (int)_Dot; int d = (int)_Dist; for(int j = i; r <= (int)RotationTawerAttack; j++) Fire = true; } }
М что некто так и не знает???
Сообщение отредактировал x_Medwed - Понедельник, 24 Августа 2015, 21:38 |
|
| |
Pakypc | Дата: Пятница, 21 Августа 2015, 13:41 | Сообщение # 7298 |
был не раз
Сейчас нет на сайте
| Здравствуйте.Тут такое дело есть массив image(UI) компонентов, как сделать функцию возвращающую компонент в область которого попал курсор мышки, что то не могу сообразить как написать алгоритм.Буду благодарен за помощ!
Сообщение отредактировал Pakypc - Пятница, 21 Августа 2015, 16:35 |
|
| |
Knife_Kill | Дата: Суббота, 22 Августа 2015, 13:30 | Сообщение # 7299 |
частый гость
Сейчас нет на сайте
| Здравствуйте, у меня на объекте есть 2 Box Collider'a 2D, на первом у меня IsTrigger = false; на втором = true; Я обращаюсь к объекту Код GameObject wall = GameObject.Find("Wall"); wall.GetComponent<BoxCollider2D>().isTrigger = false; Но смысл в том, что этот скрипт взаимодействует с 1 Вox Collider'oм, но мне надо чтоб взаимодействовал с 2ым, как это можно сделать? (менять местами Collider'ы в инспекторе не предлагать т.к. с 1ым коллайдером у меня тоже есть взаимодействие)
На сколько я понимаю - надо как-то задействовать GetComponents
|
|
| |
seaman | Дата: Суббота, 22 Августа 2015, 19:44 | Сообщение # 7300 |
старожил
Сейчас нет на сайте
| Совет. Если нужно на объекте два одинаковых компонента - сделай дочерний объект, на который навесь второй бокс коллайдер. Затем с него бери его.
|
|
| |