Четверг, 21 Января 2021, 20:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Форум игроделов » Записи участника » urbemAngeli [44]
Результаты поиска
urbemAngeliДата: Понедельник, 15 Августа 2016, 08:13 | Сообщение # 41 | Тема: Проблема с поворотами объекта при многократном вращении
частый гость
Сейчас нет на сайте
Lertmind, спасибо за наводку, буду разбиратся
urbemAngeliДата: Воскресенье, 14 Августа 2016, 23:15 | Сообщение # 42 | Тема: Проблема с поворотами объекта при многократном вращении
частый гость
Сейчас нет на сайте
Lertmind, только сейчас добрался до Unity, ваш скрипт работает просто супер, так как я и задумывал. Огромное спасибо:) Техника с родителями не совсем понятна, если первый родидель вращать по одной из оси, то для второго родителя(внутренний) остальные 2 оси будут отличными от мировых, и очень сложно будет реализовать вращение в требуемом направлении.

Сообщение отредактировал urbemAngeli - Воскресенье, 14 Августа 2016, 23:21
urbemAngeliДата: Воскресенье, 14 Августа 2016, 13:56 | Сообщение # 43 | Тема: Проблема с поворотами объекта при многократном вращении
частый гость
Сейчас нет на сайте
Всем привет!Пытаюсь осуществить вращение обьекта при нажатии кнопки по одной из оси(y или z). Камера всегда неподвижна, и суть поворота куба заключается в том, что не зависимо от его поворота относительно камеры, если нажать кнопки(стрелки) он должен поворачиваться строго на 90 град. в том направлении как на скрине. Здесь у меня возникло две проблемы:
Проблема 1: Если куб допустим повернуть по оси z на +90° а затем по оси y на 180° , то при последующих поворотах вокруг z, кнопки вверх и вниз меняются местами, чего мне не нужно. Пришел к выводу что проблемой данного явления является когда узнаю текущие углы и добавляю или отнимаю 90 град, может происходить конфликт углов(допустим был угол -90 и нужно для правильного поворота -180, а у меня получается -90 + 90 = 0) и поэтому поворачивается не в ту сторону. Пробовал кубу добавлять родителя и у него брать углы, но тогда куб вращался как хотел.
Проблема 2: Если повернуть куб вдоль оси z, то при последующих поворотах вверх или вниз, вращение происходит по оси x, хотя в transform куба во время вращения углы меняются по z.
Помогите разобраться с данными проблемали, а то у самого мыслей уже 0 осталось как это можно решить.
Сорри что все так запутано описано, ниже скину еще проект, может кому наглядно лучше посмотреть на все это дело.



Код
public class HandlerRotation : MonoBehaviour
{
    Quaternion target;
    bool nowRotate = false;
    //public Transform parent;

    public int speed = 80;
    int nowFrame = 0;

    void FixedUpdate()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            if (nowRotate == false) // Проверка для предотвращения поворота по второй оси
            {
                target = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, transform.rotation.eulerAngles.z + 90);
                nowRotate = true;
            }
        }

        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            if (nowRotate == false)
            {
                target = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, transform.rotation.eulerAngles.z - 90);
                nowRotate = true;
            }
        }

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            if (nowRotate == false)
            {
                target = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y + 90, transform.rotation.eulerAngles.z);
                nowRotate = true;
            }
        }

        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            if (nowRotate == false)
            {
                target = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y - 90, transform.rotation.eulerAngles.z);
                nowRotate = true;
            }
        }

        if (nowRotate)
        {
            if (nowFrame < 57) // Проверка на окончание поворота
            {
                transform.rotation = Quaternion.RotateTowards(transform.rotation, target, Time.deltaTime * speed);
                nowFrame++;
            }
            else
            {
                nowRotate = false;
                nowFrame = 0;
            }
        }
    }

Ссылка на проект


Сообщение отредактировал urbemAngeli - Воскресенье, 14 Августа 2016, 14:06
urbemAngeliДата: Пятница, 18 Сентября 2015, 20:08 | Сообщение # 44 | Тема: Collision of Balls [2.5D]
частый гость
Сейчас нет на сайте
Всем привет! Решил попробовать свои силы в программировании и написать свою первую инди-игру. Писал около 3-х месяцев и теперь хочу предоставить свое творение всеобщему вниманию. Интересно узнать ваше мнение и не забывайте оставлять отзывы в Google Play.
Жанр: Аркада
Движок: Unity3d 5
Пространство: 2.5D
Какой вид в игре: сверху
ЯП: C#
Платформа: Android
Тип лицензии распространения: Бесплатная
Похожие игры: Collide balls, Collision

Описание:
В данной игре вам нужна максимальная реакция в сочетании с точностью. В вашем распоряжении есть серый мяч который соединен с красным мячом при помощи резиновой веревки. Вам необходимо красным мячом отбивать черные, не дав белому мячу выйти из зоны. Чем сильнее вы отобьете, тем больший балл получите. Также вы можете сравнивать свои результаты с другими игроками.

Особенности игры:
- Красивая графика;
- Реалистичная физика;
- Уникальный геймплей;
- Таблицы лидеров;
- Достижения;

Скачать с Google Play:









Сообщение отредактировал urbemAngeli - Среда, 22 Ноября 2017, 10:42
Форум игроделов » Записи участника » urbemAngeli [44]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

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