hipa, эмм, тогда я не понял вопроса.
Вы говорите "перекатывается", что как по мне означает некую заданную скорость, но не в этом суть.
Я исходил из следующего:
1. Куб в определенный момент поворачивается на некое количество градусов, пока не ляжет на грань
2. Я отбросил неровности и решал задачу на плоскости.
Если взять объявление:
transform.RotateAround(%Точка%, %Вектор оси вращения%, %Количество градусов%);
То бишь, если задаете 90, то он и повернется на 90 за такт. Если не применять Time.deltaTime, то результат вроде как норм будет.
Только ясен дрын его не в Update пихать надо. Отдельный войд и запуск по требованию, как вариант.
P.S. Если же нужен плавный перекат, то повозитесь с дельтатаймом и временем переката.
Declaration
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);
Ну ты понел, да?
Это для тебя понятно, что в принципе одно и тоже (хотя в Трансформе так-то еще и скейл есть). А конструктору подавай утвержденную форму )))
Дима Кондрашов, тоже вариант ))
Но я всегда остерегаюсь использовать такие утверждения. Потом захочешь опустить уровень пониже, забыв про это и усё. Будешь потом полдня по скриптам искать почему такое происходит. А коллайдер он как бы виден.
Добавлю, что кроме отслеживания Y игрока можно еще тупо ввести невидимый коллайдер с триггером перезапуска ниже уровня карты. Данный метод будет полезен и в том случае, когда необходим перезапуск и в пределах карты, например при падении игрока в "лаву"
Дело именно в значении. Отдебажьте саму переменную. Debug.log (www.text); Затем, для точности, переменную otvet.
Возможно с сервера поступает, например, " 1", а не "1".
Есть еще вариант. Если на сервере происходит ошибка, то www.text==null?
Вот и проводите проверку этого условия напрямую, без лишних переменных.
Ну я прикинул:
Простейший вариант. Сделай несколько погнутых форм и делай видимой одну из них. Такой прием был сделан кажется в то ли во флэтаутах первых, то ли в нфс. Не особо реалистично, зато легко реализуемо.
Остальные варианты требуют детально разбираться в физике, что как я понимаю Вам не особо хочется. А предложенный вариант потребует лишь час работы в блендере условном.
PsyDuckbest, Не очень понял. если честно...
Итак. У нас есть персонаж. К нему слева прилетает пуля. Его должно оттолкнуть вправо, правильно?
Тогда проверяем столкновение и если оно есть, то высчитываем вектор откуда прилетела пуля. Для этого берем местоположение пули и игрока. Пускай игрок в точке (0;0), а пуля слева (-1;0). Вектор высчитывается путем вычитания начальной точки (пуля) из конечной (игрок). Получаем вектор (0 - (-1); 0 - 0), то есть (1;0).
Теперь применяем один из двух вариантов:
1. Напрямую меняем transform игрока: transform.position = transform.position + Vector2 (1;0)
Получается векторы суммируются и игрок оказывается в точке (1;0), то есть справа от начальной. Результат достигнут. Игрок всегда будет перемещаться в позицию противоположной той, откуда прилетела плюха.
2. Применяем AddForce с тем же вектором. Но мне крайне не нравится этот метод, поскольку у косорукого меня он постоянно выдает непредсказуемые баги.
Если я что-то неправильно понял - поясните
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Вы говорите "перекатывается", что как по мне означает некую заданную скорость, но не в этом суть.
Я исходил из следующего:
1. Куб в определенный момент поворачивается на некое количество градусов, пока не ляжет на грань
2. Я отбросил неровности и решал задачу на плоскости.
Если взять объявление:
transform.RotateAround(%Точка%, %Вектор оси вращения%, %Количество градусов%);
То бишь, если задаете 90, то он и повернется на 90 за такт. Если не применять Time.deltaTime, то результат вроде как норм будет.
Только ясен дрын его не в Update пихать надо. Отдельный войд и запуск по требованию, как вариант.
P.S. Если же нужен плавный перекат, то повозитесь с дельтатаймом и временем переката.