Красный Сокол: Создание планеты
В нашей игре вы можете заметить что крутится планеты, и самый сок в том, что он динамическим освещается. На тёмных участках жители зажигают фонари, а на светлом всё освещается солнцем.
Подобного эффекты мы добились простым шейдером. Нам понадобилось две текстуры:
- Полностью освещённая сторона;
- Полностью затенённая сторона;
Далее при рендеринге сферы мы выбираем с помощью функции линейной интерполяции пиксель с одной из двух квартин в зависимости от освещённости пикселя. Освещённость пикселя считаем средствами юнити без каких либо изменений.
Основной код шейдера:
fixed4 frag (v2f i) : SV_Target
{
fixed4 dayCol = tex2D (_MainTex, i.uv);
fixed4 nightCol = tex2D (_NightTex, i.uv);
fixed4 resultCol = lerp (nightCol, dayCol, i.diff);return resultCol * (i.diff * 2);
}
- 03 ноября 2019, 22:27
- 02
Да, планета у вас симпатично получилась :)