Receptor писал(а):Варианты в духе - щупать по имени и ловить вертексы объектов по дистанции
Тоже об этом подумал. Можно вместо вертексов искать крайнюю точку Bounds. Но это, имхо, еще хуже будет. А почему с вертексами не срабатывает? Просто по циклу перебирать все, у каждого сравнивать дистанцию между центром света и вертексом, если хотя бы у одного из них дистанция меньше половины от радиуса света, то объект освещаемый.
Это хорошо если в сцене например 3 лампы и 3 кегли, ну и больше ничего, а у меня малясь жирнее выходит. Да и опять же - есть помехи, например в виде стен - тогда источник света должен кидать проверочный рей до набора вертексов, которые попали в нужный радиус. А если стена с прозрачностью? Все эти нюансы учитывать, да и в не шибко малых масштабах - кажется это нехило подвесит машинку =(
AndreyMust19 писал(а):но все это надобно БЕЗ коллизий.
Шейдером не получится - вынести данные из шейдера в скрипт нельзя.
Для Pointlight - измеряйте расстояние между объектами, равное радиусу света. Если меньше - значит центр объекта попадает в свет. Для большей точности учитывайте AABB-границы коллайдера (но это физика).
Для Spotlight - то же, что с Pointlight, плюс добавляется ограничение по углам между ориентацией ИС и объекта (параметр spotAngle). Для оптимизации проверяйте только объекты, к-е сместились за посл. секунду более чем на 10-25 см. Если объектов много, то стоит делить пространство сцены на ячейки и сначала искать попадание в свет только тех объектов, к-е находятся в ячейках, попадающих в свет.
Вообще мне немного не понятно - зачем без использования физики создавать свою физику? Я бы советовал все-таки не заморачиваться и использовать готовое решение.
В этом методе очень будет хромать точность, да и это - половина беды. Выше писал про "универсальность" даже под скин\скелет меш, да и он явно не "5 полигонов - орк", а собрать фулку скелета (убогие но триггер-коллайдеры) на каждом пальце, на каждой части руки\ноги\щупальце - боюсь это слишком жирно будет. По этой причине и отказался от такого метода - переизбыток коллизий на душу населения, да и опять же - стены = проверочные касты, как бороться с трансперентом - хрен разберет, а если разберет - то в такой радости ФПС скушается как горячие пирожки...
Вот и ломаю голову именно над точным "попаданием света" на объекты. Может разрабам пингануть на тему дополнительного взаимодействия-считывания света, или с таким запросом думаете лесом пошлют?