Четверг, 14 Ноября 2024, 21:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по 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
    старожил
    Сейчас нет на сайте
    Совет. Если нужно на объекте два одинаковых компонента - сделай дочерний объект, на который навесь второй бокс коллайдер. Затем с него бери его.
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг