простой ray casting 2d array hit
Думаю и этот код будет полезен ...
Код в Offtop : Другой вариант : |
Ответ: простой ray casting 2d array hit
Приложу картинки:
1 пример: синие лучи - обзор 360*, красные лучи - направляющий обзор, белые кубики - попадающие в препятствие перед лучами. 2 пример: лучи - с ограниченной дистанцией дальности обзора |
Ответ: простой ray casting 2d array hit
Ну типо камера обзора 2д
|
Ответ: простой ray casting 2d array hit
линии направления не отображаются
попробовал так Line 0,0,camPosX+direction*Cos(angleView ),camPosY+direction*Sin(angleView ) и точка направлена в точку позиции камеры (а не куда должна глядеть камера) надо вычисления концов линий починить (я делал на Delphi подобное, но сейчас могу заняться поправкой) в общем приписал direction=100 Line camPosX,camPosY,camPosX+direction*Cos(angleView ),camPosY+direction*Sin(angleView ) и норм для чего тогда newDirection ? и тут же View2D(offset) и View2D(direction) |
Ответ: простой ray casting 2d array hit
newDirection просто не удалил из кода ,а offset - это смещение шага луча
|
Ответ: простой ray casting 2d array hit
Делал давно, используя тригонометрию а не raycast. Тут 800+ отрезков, никаких оптимизаций.
http://moka.co/shadows/ |
Ответ: простой ray casting 2d array hit
что -то вроде пересечения отрезка с отрезком или нормаи? Или проекцией на вектор?
|
Ответ: простой ray casting 2d array hit
Находим отрезки в радиусе, кастуем два отрезка к концам кастера, продолжаем два отрезка до квадрата который описывает радиус источника света, и добовляем вершин чтобы прилегал массив вершин к прямоугольнику. Для оптимизации можно объединять стрипы от каждого кастера, и проверять если кастер вообще попал в видимость.
Также мягкие тени не сложно сделать с таким подходом. |
Ответ: простой ray casting 2d array hit
Цитата:
|
Ответ: простой ray casting 2d array hit
Цитата:
|
Ответ: простой ray casting 2d array hit
Цитата:
Оба подхода очень быстрые и качественные результаты производят. |
Часовой пояс GMT +4, время: 19:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot