@Afafks123132132165

Как сделать рейкастинг?

Я хотел сделать игру используя рейкастинг прочитал статьи в интернете и ничего не понял я храню карту в одномерном массиве и не знаю как бросать лучи и обработать столкновения.Делаю я игру на джаваскрипт и я хотел бы что бы кто нибудь описал саму логку или же сказал какая математика мне будет нужна.Помогите а то уже не понятно что делать и как это все вообще
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
profesor08
@profesor08 Куратор тега JavaScript
Если коротко, то на шейдерах.

Знаешь что такое источник света? Если да, то берешь из точки источника и направляешь в нужную сторону вектор. Далее смотришь пересекает он какие-то объекты или нет. Если пересекает, то смотришь в какой точке и под каким углом он пересекает первый объект, от этой точки отправляешь следующий вектор, и повторяешь процедуру сколько хочешь раз. Количество векторов отправляешь сколько хочешь. Так как вектор это луч света, то он имеет свой цвет, при встречи с объектом, его цвет смешивается с цветом объекта, так объект красится и отображается. Следующий луч уже имеет получившийся цвет и отражается далее.

glslsandbox.com/e#52242.4
https://www.youtube.com/watch?v=D-HroAIUePM
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы