Уважаемые друзья! Команда PrintInstvud приветствует всех Вас

Программирование на Юнити.

Уважаемые друзья! Команда PrintInstvud приветствует всех Вас

Сообщение Zyxer 10 окт 2010, 18:18

Уважаемые друзья! Команда PrintInstvud приветствует всех Вас!
Мы занимаемся производством Киосков/Автоматов позволяющих печатать фото из Instagram! - start.printinstvud.ru/?u=vk_50

Мы - команда молодых людей, которые любят и ценят время! Каждый раз, когда мы прилетали с отдыха или приезжали со встречи с друзьями, нам хотелось оставить приятное воспоминание и, слава богу, уже 21-й век!
Последний раз редактировалось Zyxer 29 июл 2016, 07:11, всего редактировалось 2 раз(а).
Zyxer
UNец
 
Сообщения: 35
Зарегистрирован: 10 сен 2010, 16:27

Re: Вопрос по векторам

Сообщение Paul Siberdt 10 окт 2010, 19:11

1 - RaycastHit.normal * 0.5 - тот самый вектор длинной в 0.5 единиц, перпендикулярный плоскости куба, в которую попал луч.
2 - RaycastHit.triangleIndex - индекс треугольника (в вашем случае - прямоугольного равнобедренного), в которую попал луч. Получив список его вершин треугольника, можно высчитать точку середины гипотенузы, что и будет, в вашем случае, центром плоскости куба.
3 - в вашем случае, зная точку RaycastHit.point, считать гипотенузу не обязательно. Достаточно преобразовать point в локальные координаты куба и определить ( исходя из габаритов коллайдера и позиции point ) сторону в которую попал луч. Центр, в вашем случае, находится простым арифметическим делением на два :)
4 - совсем простой способ - получив вектор нормали, строим этот вектор длиной 0.5 + 0.5*<размерность куба> из самого центра куба. Нормаль отрисуется четко по середине плоскости поражения лучиком.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Вопрос по векторам

Сообщение Zyxer 11 окт 2010, 02:57

Уважаемые друзья! Команда PrintInstvud приветствует всех Вас!
Мы занимаемся производством Киосков/Автоматов позволяющих печатать фото из Instagram! - start.printinstvud.ru/?u=vk_50

Мы - команда молодых людей, которые любят и ценят время! Каждый раз, когда мы прилетали с отдыха или приезжали со встречи с друзьями, нам хотелось оставить приятное воспоминание и, слава богу, уже 21-й век!
Последний раз редактировалось Zyxer 29 июл 2016, 07:11, всего редактировалось 1 раз.
Zyxer
UNец
 
Сообщения: 35
Зарегистрирован: 10 сен 2010, 16:27

Re: Вопрос по векторам

Сообщение Paul Siberdt 11 окт 2010, 07:44

Хм... точно ответить не смогу. Если освещение строится на лайтмапах, можно снова пустить лучик и:
1 - прочитать пиксель текстуры лайтмапа в данной точке.
2 - из треугольника, в котором расположена точка, прочитать цвета составляющих его вертексов и вычислить из них вертексный цвет точки.
3 - сложить полученный пиксельные и вертексные цвета.

Пункт 2 и 3, если вы не используете вертексную окраску, можно обойтись пунктом 1.

Если сцену освещают динамические источкики, не знаю, можно ли получить корректный цвет вертекса. Возможно, тут проще будет проверять расстояния от точки до ближайших источников света и вручную считать освещенность. Никогда не изучал данную тему, надеюсь, кто-нить предложит изящное решение.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Вопрос по векторам, трассировке и ее результатах

Сообщение gnoblin 11 окт 2010, 14:40

Сделать в этой точке рендер в текстуру и проверить цвет пикселя?
Хотя тут наверное точно не определишь есть затенение или нет :-w .
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13