Вид будет не сверху, а от первого лица. Поэтому необходимо будет изгибать plane с большой точностью. Для этого plane должен быть высокополигональным и для каждой вершины необходимо высчитать каждый раз новую координату. Объектов на уровне для которых нужны тени около 30. На сколько может просесть FPS? Каким образом вычислять координаты plane относительно меша терейна? raycast-ом с каждой вершины перпендикулярно вниз?
Также нашел два готовых скрипта:
1. Character Shadow (Проектором).
http://www.unifycommunity.com/wiki/index.php?title=Character_ShadowПлюсы: Дает хороший результат для объектов любой сложности
Минусы:
- Использование проекторов для мобильных устройств (iOS) снижает производительность вплоть до невозможности играть.
- Сложно сделать тень при перекрытии объектов друг другом (проектор просвечивает насквозь)
2. Shadow Volumes in Alpha.
http://www.unifycommunity.com/wiki/index.php?title=Shadow_Volumes_in_AlphaПлюсы: дает отличный эффект теней
Минусы: не подходит для ряда мешей. Например не смог получить тень от стандартного куба. От Цилиндра тень неправильная.
Есть ли в свободном доступе усовершенствованный Shadow Volumes алгоритм?
(есть платный
http://forum.unity3d.com/threads/102079-Dynamic-shadows-in-Unity-Free-Pro-possibly-Mobile, но не известно подойдет он например для деревьев или нет)