гляжу, в UE тоже боксом:
http://udn.epicgames.com/Three/UsingDecals.html
думаю дальше по поводу проблемы с декалированием левых мест. что если
- определяем все точки пересечения меша с боксом
- если у нас есть точки с одинаковым XY но разной глубиной в пространстве прожектора - оставляем только самые ближние. это должно выкинуть точки пересечения с низом вертикальной стены и даже низом горизонтальной (не требуется проверка по нормали)
- находим треугольники, которым принадлежат оставшиеся точки пересечения
- обрезаем, делаем UV итд