Пятница, 29 Ноября 2024, 16:10

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
serega721Дата: Среда, 15 Апреля 2015, 21:46 | Сообщение # 1 | Тема: Довернуть камеру на определенный угол
был не раз
Сейчас нет на сайте
Добрый вечер!
Задача состоит в следующем:
"На сцене имеется камера и пушка со своими лучами, когда луч пушки выходит за пределы видимости камеры (по вертикали), требуется довернуть камеру вверх чтобы вернуть видимость. Луч у камеры всегда позиционирован в 20% от верхнего края (screehHeight*0.2)"
Казалось бы задача тривиальна, требуется найти угол между лучами и довернуть камеру на альфу. Но после проведенных расчетов камера не заворачивается до нужной позиции, постоянно либо выше, либо ниже требуемого. Буду признателен любой оказанной помощи, код и картинку для ясности происходящего прикладываю ниже.
P.S Дело не в длине луча, а именно в не верном повороте.
Код

//cameraRayVector - взят Getpoint с луча у камеры
//gunRayVector - взят Getpoint с луча у пушки
//vAngle - находим угол между векторами, отнимаем от каждого вектора позицию камеры, для того чтобы угол считался не с нулевой позиции координат  
float vAngle = Vector3.Angle((cameraRayVector - _mainCamera.transform.position), (gunRayVector - _mainCamera.transform.position));

                           Vector3 cross = Vector3.Cross((cameraRayVector - _mainCamera.transform.position), (gunRayVector - _mainCamera.transform.position));
                           if (cross.y < 0) vAngle = -vAngle;
                           Quaternion quat = Quaternion.AngleAxis(vAngle, Vector3.right);
                           _mainCamera.transform.rotation = Quaternion.Euler((quat * _mainCamera.transform.rotation.eulerAngles));

serega721Дата: Вторник, 07 Апреля 2015, 12:59 | Сообщение # 2 | Тема: Изменить rotation на определенный угол
был не раз
Сейчас нет на сайте
Цитата beril ()
Quaternion - это не вектор

Тогда как мне правильно сделать rotation на определенный угол ? С учетом того что результирующий вектор может быть отрицательный.
serega721Дата: Вторник, 07 Апреля 2015, 11:18 | Сообщение # 3 | Тема: Изменить rotation на определенный угол
был не раз
Сейчас нет на сайте
Цитата MANMANA ()
Quaternion.AngleAxis Creates a rotation which rotates angle degrees around axis.
Поворачивает объект вокруг осей на угол.

Но почему данный метод возвращает только положительное значение? К примеру когда значения результирующего вектора должны быть отрицательными, я получаю нули.
serega721Дата: Понедельник, 06 Апреля 2015, 23:56 | Сообщение # 4 | Тема: Изменить rotation на определенный угол
был не раз
Сейчас нет на сайте
Добрый вечер!
Требуется повернуть камеру по оси x на определенный угол, но какой способ лучше всего для этого подходит?
Код

//1-й
mainCamera.transform.rotation = Quaternion.AngleAxis(angle, Vector3.right) * mainCamera.transform.rotation;

Код

//2-й
mainCamera.transform.RotateAround(target.position, Vector3.right, -angle);

Либо выполняемые действия идентичны?
serega721Дата: Понедельник, 09 Марта 2015, 13:56 | Сообщение # 5 | Тема: LookAt, изменить значение слежения
был не раз
Сейчас нет на сайте
Цитата robertono ()
Но если тебе нужно откорректировать вращение после LookAt, то попробуй сделать Rotate(vector3) после LookAt, введя туда вращение для исправления.

Дело в том что LookAt по своему рассчитывает позиции для слежения, только мне нужно откорректировать это слежение по оси x, Rotate это хорошо, но когда все это дело будет происходить в LateUpdate камера начнет прыгать из-за того что по оси x ее значение будет постоянно меняться. Вот если бы знать какое значение передать в LookAt чтобы позиция слежения по оси х изменилась к примеру ровно на 0.567.
serega721Дата: Пятница, 06 Марта 2015, 16:17 | Сообщение # 6 | Тема: LookAt, изменить значение слежения
был не раз
Сейчас нет на сайте
Добрый день!
Хотел узнать, можно ли явно в функции LookAt изменить значение слежения по оси х ?
serega721Дата: Понедельник, 06 Октября 2014, 02:05 | Сообщение # 7 | Тема: Вопрос по размерам шрифтов в Unity3d
был не раз
Сейчас нет на сайте
Добрый день!
При работе с текстом использую NGUI, и при работе мне требуется текст большого размера к примеру "150", но к сожалению при таких размерах текст начинает выглядеть не качественно (в кубиках).... Пробовал экспериментировать с разными шрифтами но эффект тот же. Как можно решить данную проблему ? Мб есть альтернатива ?
serega721Дата: Четверг, 02 Октября 2014, 01:09 | Сообщение # 8 | Тема: Не обрабатывается клик по спрайту
был не раз
Сейчас нет на сайте
Добрый день!
На сцене есть несколько спрайтов, на одном из них весит скрипт для обработки события клика, методы OnMouseUp(), OnMouseDown() не срабатывают, хотя на спрайте висит BoxCollider2d (по размерам все нормально). Тогда пытаюсь обработать, вот таким способом:
Код

void Update()  
     {
         if (Input.GetMouseButtonDown(0))
         {  
         }
     }

Данный способ срабатывает, но почему бы я не кликнул, данное событие срабатывает, вот такая магия...
serega721Дата: Вторник, 30 Сентября 2014, 18:05 | Сообщение # 9 | Тема: Как правильно организовать построение игрового поля в ngui?
был не раз
Сейчас нет на сайте
Добрый день!
С ngui знаком не так давно, поэтому мои рассуждения могут отличаться от профессионального подхода. В общем суть задачи заключается в следующем: "Требуется реализовать игровое поле (аналог поля игры в 2048), только с возможностью изменения размера игрового поля: {5:5}, {4:4}...{кол-во кубиков в строках и столбцах}". Как я планировал сделать: "Создать спрайт (нижний слой игрового поля), задать некие размеры и закрепить анкорами к UI панели, дальше программно определять размеры игрового поля "нижняго слоя"" ширину и высоту, и отталкиваясь от этого накладывать кубики спрайтов, изменяя их размеры относительно данного поля. Либо кубики нужно накладывать используя анкоры ? Или может для таких целей правильнее использовать grid? Для справки моя версия NGUI 3.7.1.
serega721Дата: Пятница, 20 Июня 2014, 18:30 | Сообщение # 10 | Тема: Десериализация данных из BitStream
был не раз
Сейчас нет на сайте
Цитата HPlusDiese ()
вот это строка меня смущает. Зачем писать в поток, если нужно прочитать?

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


Сообщение отредактировал serega721 - Пятница, 20 Июня 2014, 18:34
serega721Дата: Пятница, 20 Июня 2014, 16:41 | Сообщение # 11 | Тема: Десериализация данных из BitStream
был не раз
Сейчас нет на сайте
Добрый день!
Дело заключается вот в чем:
Сериализаю данные
Код
BitStream bitStream = new BitStream(isTypeSafe);
         bitStream.WriteByte(species);
         bitStream.WriteInt32(revision);
PlayerPrefs.SetString(species.ToString(), bitStream.ToString());

После этого отправляю в PlayerPrefs в виде строки в которой содержится пачка байтов . Дальше я пытаюсь сделать десериализацию данных вот таким способом:
Код
BitStream bitStream = new BitStream(isTypeSafe);
bitStream.WriteString(PlayerPrefs.GetString(species.ToString()));
species = bitStream.ReadByte();
revision = bitStream.ReadInt32();

Но увы на выходе я получаю не корректные данные. В чем может быть проблема? Или что я делаю не правильно?
serega721Дата: Четверг, 29 Мая 2014, 22:57 | Сообщение # 12 | Тема: Debug.DrawLine 2D collisions on a Texture2D
был не раз
Сейчас нет на сайте
Доброй ночи!
В общем суть моей проблемы такова: Есть Draw.Line, которым я верчу во все стороны и когда он пересекается с текстурой (GUI texture на gameobjecte), должно отработать некое событие, как я понимаю OnCollisionEnter. Но, во-первых что за коллайдер следует повесить на данную текстуру? И в правильном ли я направлении мыслю, насчет решения данной задачи.
serega721Дата: Суббота, 17 Мая 2014, 01:39 | Сообщение # 13 | Тема: Каких размеров должен быть логотип (при загрузке игры)?
был не раз
Сейчас нет на сайте
Доброй ночи!
Рисую на фотошопе логотип (касается и остальнных изображений), который будет отображаться при загрузке игры, только не могу понять какого разрешения он должен быть? Чтобы угодить всем дисплеям любого разрешения.
serega721Дата: Четверг, 15 Мая 2014, 12:58 | Сообщение # 14 | Тема: Затирание пикселей на спрайте
был не раз
Сейчас нет на сайте
Цитата Ranger ()
mycolor = MyTexture2D.GetPixel (x,y);
альфу составляющую в точке на 0 (mycolor.a = 0)
MyTexture2D.SetPixel (x,y,mycolor);
MyTexture2D.Apply(); // это сделать, когда все нужные тебе точки будут изменены

Шейдер - любой из прозрачных.
Единственный ньюас - приведение мировых координат к координатам текстуры.

Огромное спасибо, буду пробовать.
serega721Дата: Четверг, 15 Мая 2014, 00:03 | Сообщение # 15 | Тема: Затирание пикселей на спрайте
был не раз
Сейчас нет на сайте
Доброй ночи!
Не могли бы вы привести пример кода или объяснить, как в unity можно осуществить затирание пикселей на спрайте (сделать прозрачность). К примеру при касании к конкретному месту, оно становится прозрачным.
serega721Дата: Пятница, 02 Мая 2014, 22:11 | Сообщение # 16 | Тема: Разработка на unity простых приложений, есть ли смысл?
был не раз
Сейчас нет на сайте
Добрый день!
Меня интересует вопрос, есть ли смысл использовать unity в разработке простых приложений (что-то вроде кулинарной книги)? Или все же для этих целей, рациональней использовать обычный язык java (или другой)? Просто мне кажется если я буду использовать юнити для таких мелких приложений оно будет наоборот тормозить производительность.
serega721Дата: Понедельник, 21 Апреля 2014, 12:43 | Сообщение # 17 | Тема: Ошибка The associated script can not be loaded
был не раз
Сейчас нет на сайте
Цитата nik ()
при перебросе, содержимое папки проекта имеет все папки - Assets, Library, ProjectSettings ?

Да
serega721Дата: Понедельник, 21 Апреля 2014, 12:35 | Сообщение # 18 | Тема: Ошибка The associated script can not be loaded
был не раз
Сейчас нет на сайте
Цитата nik ()
всеже есть ошибка в скриптах, от того они и не линкуются

Дело в том что скрипты были скинуты с того же компа на котором все линкуется, мб в настройках проекта я что-то не указал... ?
serega721Дата: Понедельник, 21 Апреля 2014, 11:26 | Сообщение # 19 | Тема: Ошибка The associated script can not be loaded
был не раз
Сейчас нет на сайте
Добрый день!
С одного компа на другой мне скинули проект, но на многих asset пропали наложенные на них скрипты с настройками, вместо этого предупреждение следующего содержания: "The associated script can not be loaded. Please fix any compile errors and assign a valid script". Ошибок приводящих к сбою компиляции нет, добавлять вручную скрипты не вариант (слишком много файлов), версия unity 4.2.2f1 (вариант поставить новую студию отбрасываем сразу). Пробовал:
- переустанавливать unity
- создавал проект и по частям импортировал файлы
- удалял meta файлы, потом перезапускал
Но ничего не помогло, хотелось бы услышать мнение о этой проблеме более опытных пользователей, т.к. данная проблема освещалась только на англоязычных форумах и их советы мне не помогли.
  • Страница 1 из 1
  • 1
Поиск:

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