Ответы пользователя по тегу Разработка игр
  • Почему при создании объекта из префаба пропадает угол?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    bullet.transform.localEulerAngles =  new Vector3(currentWeapon.bullet.transform.localRotation.x,
                        currentWeapon.bullet.transform.localRotation.y, currentWeapon.bullet.transform.localRotation.z);


    могу предложить только попробовать вот так вот присвоить. не через кватернион. а локальные эилеровы углы приравнять локальным эилеровым углам.
    Кватернион вам просто поворот заданный возвращает в глобальном так сказать пространстве) а вы его в локальный поворот пихаете.
    Ответ написан
  • Как из нескольких клеток выделять только 1?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    Давайте попробую попробовать пояснить суть))
    LightOn - скрипт висит у вас видимо на каждой клетке.

    и на каждой клетке есть поле/ссылка - public GameObject lastChaged.

    и одна клетка про другую клетку - ничего знать не знает.
    проверка - а было ли что-то выделено - проверит локальную для текущей клетки ссылку lastChaged - и ничего не обнаружит.

    "выделятель" клеток, должен быть общим, глобальным.
    какой-то скрипт посылающий лучи, или принимающий события из
    public void OnMouseUp() // нажимаем на клетку

    или ввести глобальную переменную "текущая выделенная".
    чтобы любая клетка могла узнать про это.

    надеюсь суть стала ясна.
    удачи)
    Ответ написан
  • Как сделать уничтожение двух объектов по истечению времени на Юнити?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    а что не так?
    вроде про колизии и тригеры вы в курсе.
    как удалять объекты в курсе.
    про проверку по тэгу - тоже вроде знаете.

    если этот код не копипаста - то описывайте что именно не так работает и на что ругается.

    из того что на глаза попалось
    if (Enemi.tag == "UltA")
    разве так тэг видит?? Enemi - это же коллизия. надо у нее брать геимобджект или коллайдер
    Ответ написан
  • Создание большого количества сцен в юнити это нормально?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    подробностей не густо))
    но вообще да. именно для это и придумали сцены, чтобы можно было разделить удобно уровни и ресурсы.
    Ответ написан
  • Как получить доступ к полям выключенного объекта?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    привидите пожалуйста пример где именно обращение к инвентарю и что именно там в инвентаре за код.

    и отчасти Константин Китманов ошибается. а freeExec отчасти верно вам говорит. что при ссылке на объект у вас доступ к полям и методам будет.

    и вот что важно бы вам уяснить, на ВЫКЛЮЧЕННЫХ объектах не работает НИКАКОЙ ПОИСК.
    GetComponentInChildren - это тоже ПОИСК. и все ему подобное не сможет ничего найти на выключенных объектах.
    может в инвентаре у вас не просто получение значения
    inventory.ItemList[0].cost
    а что то в духе
    inventory.GetItemInfo(0);
    ///
    void ItemInfo(int itemIndex)
    {
    something.GetComponent<T>();
    }

    и такое не будет отрабатывать, потому не ленитесь побольше кода прикладывать)) хотя и весь проект целиком тоже не стоит. хм, тут не просто угадать))
    Ответ написан
  • Как решить проблему неправильного спауна?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    не знаю что там раньше было, но сейчас по коду, каждый цикл физики (странно почему не в Update сделали)
    у вас проверяется не задело ли лучом.
    так как циклов пару десятков в секунду - ничего удивительного что срабатывает условие несколько раз почти подряд))

    может там раньше иначе устроен таймер был.
    или в настроиках проекта fixedDeltaTime зачем-то меняли на какое то довольно большое значение (что по сути не стоило делать)
    Ответ написан
  • Как сделать физику в игре юнити 2д?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    вы б показали что пробовали...

    а так, на игроке который двигается - Rigidbody (и коллайдер конечно) с галочкой Kinematic скорее всего, хотя тут уже от игры зависит.
    на предмете тоже Rigidbody и без всяких заморозок позиций и статичности (тот самый Kinematic )

    оба они ходят по полу, какой нибудь коллайдер здоровенный.

    все. этого достаточно, когда игрок попробует "войти в" предмет - предмет будет выталкиваться.физикой)
    что именно из этого у вас не так.

    просто в редакторе поставить квадратик на пол и потолкать его другим квадратиком (перемещая его в редакторе стрелочками/перетаскивая в Scene View получается же у вас?))
    Ответ написан
  • Как правильно настроить рекламу в игре на Unity?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    просто уточню для понимания, что у заказчика в админке есть вариант добавить несколько людей
    и к тому же назначить им роли (админ, разраб, менеджер) чтобы лишнего не позволять).

    После того как вас добавили в проект - вы в проекте просто в выпадающем списке в юнити сервисах будете видеть несколько компаний (свою + те куда вас добавили).
    И для каждой компании свои проекты. выбираете присоединяете и все - реклама (и деньги) засчитываются в нужную компанию (где вы всего лишь разработчик, а финансами воротит владелец)

    Ну и так UnityAds наверно вполне себе удобный вариант (один раз в админке юнити сервисов выдать доступ/пригласить в компанию/команду), если не заморачиваться с агрегаторами нескольких рекламных сетей и прочими заморочками жуткими))
    Ответ написан
  • AddForce относительно себя на Unity?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    а чем отличается "относительно себя", от "чего то другого"?

    там задается вектор силы. в какую сторону толкнули - туда и движется.

    если же вы про "как толкнуть объект "вперед" (то есть вдоль его оси ) - то там прям в документации.
    https://docs.unity3d.com/ScriptReference/Rigidbody...
    rb.AddForce(transform.forward * thrust);

    в общем, то вам бы или почитать или поточнее описать что именно у вас не так срабатывает)
    Ответ написан
  • Как исправить ошибку скрипта передвижения в юнити?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    может. но надо чтоб это сделали вы. чтоб научиться.

    и по оформлению вопроса - код оформить как код.) не зря же здесь разметку делали.

    а еще никто особо не горит желанием открывать проект и вставлять туда ваш код, так что вы хотя бы сообщения об ошибках из консоли приложили бы (и не скриншотом. а скопировав каждое текстом. и сохранив порядок, так как первая ошибка может просто банально "тянуть" за собой остальные)

    а еще если вы сами прочитаете описание ошибки - и немного погуглите и какие-то основы программирования изучите - вопрос отпадет.
    Ответ написан
  • Почему не работает подсветка кода и автодополнение monodevelop(unity)?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    а версии юнити и монодевелопа указать не хотите?)

    https://blogs.unity3d.com/ru/2018/01/05/discontinu...

    вот вам статейка. по сути, юнити отказывается от монодевелопа. используйте визуал студию (встроено и бесплатно). если хочется очень монодевелоп (зачем то) - то юнитовцы как бы говорят - это ваши проблемы, мазохисты-староверы)

    https://www.reddit.com/r/Unity3D/comments/9ks41y/a...
    в туже тему.
    Ответ написан
  • Как сделать корректный переход объекта между несколькими buoyancy effector 2d?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    погодите а что не так??
    тяжелые тонут, а легкие плавают на границе жидкости.
    когда ставите density (плотность) жидкости ноль - то все объекты в ней тонут))

    а что вы вообще хотели??
    у вас по сути симулируется емкость с жидкостью(fluids), с указанной плотностью и уровнем воды в ней
    небось на границе все еще выталкивается тело из первой жидкости и поэтому недостаточно тяжелое для "потопления" в другой))

    А теперь по делу
    Можете попробовать сделать просто прямоугольную форму для жидкости, а форму дополнительно коллайдерами ограничить,чтобы придать такую вот форму воронки как на изображении у вас.
    Ответ написан
  • Как проверить законность использования кем-либо продаваемого мной unity ассета?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    смотрите какое тут дело.
    особо защиты нет( кто-то купил ассет ваш. скачал. и может раздавать направо и налево.

    Если нашли игру с вашим ассетом - можете конечно заявить об упущенной прибыли ,если кто - то с этого приложения реально зарабатывает, а если это инди проект какой-то для развлечения - то не стоит оно ваших нервов))

    Но, в 95 процентах случаев - если этот ассет достался безымянному Васе - он выложил в стор - и НИЧЕГО) нет у него прибыли какой либо существенной.

    А нормальная зарабатывающая студия - просто купит ваш ассет, если он хороший.
    Плюс многие разработчики качают "пиратскую" копию платного,чтобы убедиться что оно им подходит. Подошло, стали использовать - купили у автора в знак благодарности.

    такие вот дела)) хороший и востребованный ассет - покупают. а купленным не все охотно делятся бесплатно))
    Ответ написан
  • Почему в Unity, объекты "спавнится" выше другого объекта?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    Spawn[i].transform.localScale.y + i
    вот как минимум этот момент вам не зря выделили..
    вы на скэил(масштаб) УМНОЖАТЬ должны, как минимум. а не плюсовать его.

    вы получается в глобальных мировых координатах, берете масштаб, как расстояние.
    вот и получаете, что у вас спавнятся объекты на N + i выше)) в мировых координатах.

    а потом уже второй вопрос. а почему скеил локальный ??? координаты то глобальные будут использоваться. и скеил бы тогда глобальный бы использовать. с учетом всех родителей. (хотя для префаба одно и тоже скорее всего, но все таки, для понимания,что там не совсем верно)

    ну и напоследок. заранее.
    у вас смотрю на дереве коллайдер. и на создаваемых ресурсах чую тоже есть коллайдер))
    у вас один коллайдер из другого будет выталкиваться..если не отключите на дереве.
    Destroy срабатывает не моментально и успеет физику посчитать))
    Ответ написан
  • Как Unity сохранить объект после остановки?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    можете в редакторе перетащить их в Project.
    таким образом получите из объекта префаб..можно будет потом его использовать.

    но вообще Play (рантаим)по большей части работает как Песочница. поработала и сбросилась в исходное состояние.
    Ответ написан
  • Как лучше всего сделать передвижение по нажатию кнопки?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    если это для тач устройств - то это комшар))
    даже если не для тач, то кнопок должно быть максимум четыре..по диагонали - нажатие двух одновременно.

    с кнопок получаем "ввод"..
    обрабатываем ввод - уже где надо..
    кнопка двигающая игрока - не оч хорошо))

    что-то на подобии
    кнопка - направление - движение на основе направления (в игроке или где там еще).
    тогда в такой схеме легко будет заменять кнопки, на джостик, клавиатуру и тп.

    это так в общий чертах) как обычно делается. а тонкости и тд..это вам по опыту придет или где уже подглядите в примерах))
    Ответ написан
  • Останавливается объект при нажатии кнопки 2 раза?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    void OnCollisionEnter2D(Collision2D col)
        {
            if (col.gameObject.CompareTag("Wall"))
            {
                isForce = true;
            }


    вы сбрасываете флаг "можно двигаться" только по старту колизии с чем либо.

    если вы уперлись уже в "стену" то второго CollisionEnter не будет.
    переделывайте логику))) или проверяйте еще дополнительно CollisionStay

    или сбрасывайте флаг isForce по таймеру, или еще как. (но это костыли. в принципе надо пересмотреть вообще зачем так сделано и почему))
    НО суть в общем надеюсь уловили.
    Ответ написан
  • Почему не работает AudioSource.PlayOneShot()?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    у вас следующей строкой же
    gameObject.SetActive(false);

    вы выключаете объект с которого вызвали..
    PlayOneShot - создает копию конечно для прогона, но она связанна с родителем.
    нельзя "выкинуть магнитофон" и спрашивать..где же звук)))
    Ответ написан
  • Проанализировал от и до. Что за ошибка?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    У вас textMess ничему не равно..видать.
    не пустая строка...а прям НИЧЕГО.
    а у Ничего нет Length .

    проинициализируйте строку хотя бы ))
    а воообще в юнити прекрасно работает отладка.
    и ничего не мешает Debug.Log Добавить и посмотреть что в параметры посылаете
    Ответ написан
  • Скрипты не работают?

    MrMureno
    @MrMureno Куратор тега Unity Game Engine
    VR for all
    не знаю что там с вектором. Он же в глобальный координатах, может вы указали там что то не то. Нет скринов инспектора и тп.
    попробуйте разные значения.. (0,1) (1,0) и тд. может понятнее станет куда и как швыряет)

    еще как вариант что сила маловата)) тяжелый предмет и просто вниз по гравитации падает))
    или вообще применяется сила поздно, когда он уже упал по гравитации "под уровень"

    а вот про "работает один раз"
    очень похоже что дело в
    gameObject.SetActive(false);
    Вы выключаете свой динамит..он и не может второй раз словить тригер..
    он же выключен) объект целиком
    Ответ написан