Невидимость чрез блоки

Версия Minecraft
1.12.2
1,367
111
239
Здравствуйте! Прошу помощи с реализацией того, чтобы мобы не видели через блоки, то есть урезать их renderWorld'а так, чтобы мобы видели лишь часть а не round. Заранее thx!
 
Решение
Смари сейчас майн ищет мобов с помощью getEntitiesWithinAABB(кстати это квадрат а не окружность), и твоя задача не ограничить зоркость мобов(это понятие вапще искусственное), а изменить алгоритм поиска мобов. Я предлагаю следующий:
1) Находим мобов при помощи getEntitiesWithinAABB
2) Отсекать их при помощи пересечения квадрата и треугольника
Картинка для вас
1541368966561.png
Собственно в нашем конкретном случае пересечение треугольника и квадрата довольно простое:
1) Находим вектор(учитывая что вершина нашего треугольника это начало координат то фактически нам нужно расстояние) каждой вершины квадрата(можно ограничится только центром но тогда синий квадрат будет считаться не пересекающим)
2) Находим угол при помощи арктангенса отношения y...
1,367
111
239
Нет, я имел в виду вот это: (см. картинку).
Где красное - агро-радиус, зелёное- моб, серое- какие-л. блоки, а где синее (голубое) - слепая зона. Примерно как это сделать представляю, а вот как реализовать...scheme.png
 
1,111
47
420
Смари сейчас майн ищет мобов с помощью getEntitiesWithinAABB(кстати это квадрат а не окружность), и твоя задача не ограничить зоркость мобов(это понятие вапще искусственное), а изменить алгоритм поиска мобов. Я предлагаю следующий:
1) Находим мобов при помощи getEntitiesWithinAABB
2) Отсекать их при помощи пересечения квадрата и треугольника
Картинка для вас
1541368966561.png
Собственно в нашем конкретном случае пересечение треугольника и квадрата довольно простое:
1) Находим вектор(учитывая что вершина нашего треугольника это начало координат то фактически нам нужно расстояние) каждой вершины квадрата(можно ограничится только центром но тогда синий квадрат будет считаться не пересекающим)
2) Находим угол при помощи арктангенса отношения y вектора к x вектора
3) Если он лежит внутри области значений от угла поворота чувачка минус полу угол обзора до угла поворота чувачка плюс полу угол обзора, то точки считается лежащей внутри треугольника и как следствие квадрат лежит внутри треугольника

Замечание: есть крайний случай1541369539207.png
Здесь вершина треугольника лежит внутри квадрата и как соответственно ни одна из вершин квадрата не лежит внутри треугольника. Хендлится этот случай довольно легко но не стоит о нем забывать
 
2,932
44
598
можно вапще без него
А как?
%D0%BA%D0%B0%D0%BA.jpg
 
Сверху