Skif » 22.07.2016, 10:26
Да, все просто.
1. Создаем копию карточек кроны и переводим их в плоскости, параллельные поверхности земли. Каждая - один полигон (треугольник). А не исходный четырехугольник.
2. Назначаем им шейдер TrainShadowOnly.fx - можно использовать ту же карту, что и для кроны.
3. Если затенение слишком мощное, нужно "теневую крону" проредить, выборочно несколько карточек удалить.
Поподробнее расписывая пункт №1 (обновлено) :
- делаем копию объекта кроны с Viewfacing карточками. Выделяем все элементы и поворачиваем их так,чтобы были примерно параллельны земле. Так как мы работаем с элементами, они все повернутся вокруг своих локальных пивотов. И это как раз то, что требуется.
- Выделяем все элементы объекта в режиме Editable Mesh и применяем к ним команду Explode со значением 180 - объект развалится на уникальные объекты с именами вида Object000,Object001...NNN
- Если карточки не плоские (четырехгранник можно исказить,чтобы делать "комочки" листвы при том же поликаунте), то выбираем всю группу объектов, назначаем ей модификатор Edit Poly и делаем MakePlanar -> Z . Каждая карточка превратится в своих локальных координатах в плоскость.
- Вам понадобится скрипт для групповой автозамены объектов в сцене. Погуглите, я нашел достаточно быстро. Дальше проще - одну карточку переделываем из четырехгранника в треугольник, сохраняя координаты текстуры. И по ее образцу заменяем все четырехгранники треугольниками. Итого имеем уменьшение числа полигонов в два раза.
- не забываем собрать объекты назад в один общий, обзовем его, скажем, 1_5000_Shadow. Когда создадутся ЛОДы, нужно выставить дистанцию для "затенителя" на то расстояние, на котором у дерева исчезает просчет теней. Больше он на такой дальности не понадобится.
Если дерево использует плоские карточки,а не выпуклые, то же самое можно сделать и с карточками кроны, а не только тенями. Выглядеть будет точно так же, а полигонов - меньше.