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

    @BFGunner
    И почему это RotateAround не подходит? Сложно или лень?
    1. Переворот не относительно точки, а относительно оси грани.
    2. Первым аргументом RotateAround является центр относительно которого происходит вращение. Берете точку на грани.
    3. Второй аргумент это ось вращения. Высчитываете вектор грани куба. Вокруг этой оси и вращаете

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

    @BFGunner
    1. Можно добавить скрипт для отслеживания позиции. Как только он за кадром доезжает до нее - обнулять параметры.
    2. Можно добавить триггер за экраном при наезде на который скриптом обнулять параметры.
    3. Можно сделать дестрой/инстантиэейт при наезде на триггер за экраном.
    Ответ написан
    Комментировать
  • Как записать значение transform.position.x в переменую?

    @BFGunner
    Ну тебя уже предыдущие ораторы отпинали, так что я просто добавлю ответ:
    transform.position.x - это переменная типа float. Следовательно
    private float PoseX = transform.position.x;
    сделает что тебе надо.
    А и конечно доступ к переменным внутри войда не писать ))) убери private
    Ответ написан
    Комментировать
  • Генерация по тайлам не работает?

    @BFGunner
    В процессе генерации вы для определения места вычитаете local.position из position. Чувствую, что тут косяк. И смещение по вертикали тоже оттуда, Вам следует учитывать лишь одну координату позиции.
    Ответ написан
    Комментировать
  • Как мне создавать определенное кол-во объектов?

    @BFGunner
    Ну самым простым способом, как по мне, будет создание корутины.

    Алгоритм::
    1. Прописываешь переменную Quantity, где указываешь необходимое количество итераций.
    2. Проводишь енто самое количество итераций через цикл внутри корутины.
    3. Внутри каждой итерации через instantiate создаешь объект из префаба
    Ответ написан
    Комментировать
  • От чего происходит залипание?

    @BFGunner
    Не стал проверять весь скрипт, но заметил следующее:
    1. Проверки однократного нажатия не стоят рядом друг с другом. Т.е. после проверки однократного нажатия запускается проверка долговременного нажатия.
    2. При проверке долговременного нажатия запускается метод, который пока не отработает полностью, будет продолжать движение
    3. Затык может быть вызван именно этим. Т.е. в методе запускаемом при проверке нажатия есть неправильное логическое условие, которое продолжает движение.

    Выход:
    1. Поставить проверки Down и Up друг за другом
    2. Закомментировать Down и Up и проверить как работает лишь getButton
    3. Если getButton работает нормально при комментировании Up и Down, искать причины
    Ответ написан
    Комментировать
  • Как сделать чтобы дочерний обьект не отвечал на столкновения?

    @BFGunner
    Нужен код.
    Предположу, что у вас проверяется соприкосновение с коллайдером врага.
    Выход - можно проверять коллайдер с неким тагом. Тогда у врага будет 2 коллайдера:
    1. Коллайдер меча с тагом Weapon. Отвечает за соприкосновение с коллайдером игрока
    2. Коллайдер самого врага с тагом Enemy. Именно соприкосновение с коллайдером Enemy будет отвечать в скрипте за нанесение урона
    Ответ написан
    Комментировать
  • Как неедопустить нажатия на спрайт который под кнопкой UI?

    @BFGunner
    Ну тут только искать ошибку в расположении панели UI как по мне. Было один раз такая ситуация, один в один. Выяснилось, что при определенном растягивании экрана (на другом разрешении) сам текст "расползался" корректно, а вот панель-подложка под текст, которая и обрабатывала нажатие - нет. Получалось, что текст и спрайт кнопки были в одном месте, а активное место для тыкания в другом, точнее перекрывало лишь частично текст. Попробуйте копнуть в этом направлении.
    Если при нажатии в одно и тоже место кнопки то происходит срабатыввание, то нет, возможно спрайт неким образом находится впереди кнопки. Как обрабатывается нажатие на спрайт? Он тоже является элементом UI?
    Ответ написан
    1 комментарий
  • Как удалить несколько объектов?

    @BFGunner
    Ну допустим так::
    *проверка успешного столкновения*
    {
    A = GameObject.Find(transform.parent.name);
    Destroy(A);
    }
    Универсальнее вроде некуда.
    Только не забудьте объявить А как GameObject
    Этот метод должен вешаться на все дочерние объекты при взаимодействии с которыми должен уничтожаться родительский.
    Ответ написан
    Комментировать
  • Как сделать отталкивание объекта при ударе?

    @BFGunner
    Добавляйте на объекты box2D или иные collider.
    Затем пишете скрипт в котором будет присутствовать void OnTriggerEnter2D () или OnCollisionEnter2D ()
    То бишь, данным скриптом будет проверяться столкновение объекта на котором повешен скрипт с другим объектом, который обладает коллайдером. И в данном войде указываете, что делать с объектом на который повешен скрипт. Ну или прописываете взаимодействие сталкиваемого объекта.
    Самое простое - взять вектор (Положение объекта 1 - Положение объекта 2) и использовать AddForce с отрицательным знаком (Не забудьте навесить RigidBody на объекты). Ну или прописать затухающее перемещение исключительно TransformPosition.
    Ответ написан
  • Почему пропадает Sprite в билде Unity?

    @BFGunner
    Ответ возможно и дурацкий, но все же...
    Проверяли Transform Position по оси Z? Возможно бэкграунд перекрывает этот спрайт?
    Ответ написан