Ответы пользователя по тегу Unity
  • Как добавить дополнительные градусы к обьекту?

    @PrizmMARgh
    Необходимо при "стыковке" делать плату дочерним объектом корпуса, а далее указывать ей относительный поворот.
    Ответ написан
    Комментировать
  • Как ограничить диапазон вращения в unity?

    @PrizmMARgh
    void setAngle(float angle) {
    angle = angle > LIMITMAX ? LIMITMAX : angle < LIMITMIN ? LIMITMIN : angle; // ограничение угла в пределах [LIMITMIN; LIMITMAX]
    transform.rotation.z = angle; //(или что-то вроде setRotation, но точно не rotate, не помню, как точно методы называются)
    }

    если нужно, чтобы стрелка поворачивалась плавнее, то можно писать:
    float beta = 0.9; //чем ближе к 1, тем медленнее вращается
    transform.rotation.z = (transform.rotation.z) * (1-beta) + angle * beta; //опять же, возможно, по стандарту нельзя напрямую устанавливать значение поворота, так что потребуется set-метод.
    Ответ написан
    Комментировать
  • Как заставить двигаться объект в Unity?

    @PrizmMARgh
    0. к необходимому телу добавь компоненты script (управляющая программа), какой-либо хитбокс (например, сферический) и rigidbody (элемент управления физикой)
    1. В настройках rigidbody есть опции, которые отвечают за физику объекта, с помощью них можно настроить влияние гравитации, зафиксировать оси вращения/движения тела и ещё что-то по мелочи.
    2. Если нужен "удар по клику", то создай в скрипте метод onClick и вставь в него вызов Rigidbody2d.AddForce();
    Ответ написан
  • Юнити как создать префаб UI в месте клика?

    @PrizmMARgh
    Не уверена, сработает ли, но, по идее, должно.
    1. создаём префаб нужного ui-элемента
    2. обрабатываем нажатие и получаем положение мышки (гуглить OnScreenPosition)
    3. создаём объект, устанавливаем ему canvas, как родителя (X.transform.parent = Y.transform; )
    4. сохраняем ссылку на этот объект для дальнейших манипуляций
    Ответ написан
    Комментировать
  • Почему в Unity2d объект неправильно крутится?

    @PrizmMARgh
    Возможно, ошибка в этих строках:
    transform.localRotation = Quaternion.Euler(180, 0, -rotZ);
    transform.localRotation = Quaternion.Euler(180, 180, -rotZ);
    дело в том, что тело отражается в строке
    transform.localScale = movex;
    из-за чего, второй раз отражаются и руки.
    Ответ написан
    Комментировать
  • Как отключить boxcollider в 2д, который на другом объекте?

    @PrizmMARgh
    Для начала необходимо получить ссылку на объект, который нужен. В зависимости от цели это можно сделать как через collision, как и задав объект заранее, так и поиском его на сцене/среди дочерних по названию. Далее нужно применить метод Destroy(obj.GetComponent()); Таким методом можно удалить и другие компоненты объекта (скрипт, rigidbody и т.д.) или сам объект.
    Ответ написан
    1 комментарий
  • Что делать если исчезает половина модели при экспорте из Blender 2.8?

    @PrizmMARgh
    Попробуй применить все модификаторы (так, например, могут возникать проблемы из-за вращения), а потом переместить. Ещё можно проверить после этого качество меша в режиме редактирования (boolean может вызывать проблемы).
    Ответ написан
    Комментировать