Глава 9 «Подключение игры к Интернету»
Материал оказался душноватым — большая часть была уже знакома, и снова пришлось бороться с желанием просто махнуть рукой и пропустить главу.
Из реально интересного:
✔️ Подобрал текстуры для объектов в сцене. Довольно медитативное и творческое занятие. Технически ничего сложного, а вот эстетически — отдельная большая тема.
✔️ Добавил управление небом с помощью отдельного скрипта. На видео видно, как я в режиме сцены переключаю небо с помощью двух триггеров.
✔️ Поработал плотнее с корутинами и на примерах наконец-то проникся их пользой. Если коротко — они позволяют выполнять долгие операции в “псевдо-фоне”, не подвешивая игру.
✔️ Немного потрогал лямбда-выражения в C#. В общих чертах понял, как они работают, но не сказал бы, что прям прочувствовал. Вглубь пока не полез. Нужно больше практики, а с практикой точно придет полноценное понимание.
⸻
Из душного:
Заголовок главы звучит громко, но по факту всё “взаимодействие с интернетом” свелось к отправке простеньких HTTP-запросов.
✔️ Небо в игре изначально задаётся сводкой погоды из HTTP-сервиса Яндекса — в частности, параметром облачности. В начале игры отправляем запрос к API, получаем данные и на их основе устанавливаем погоду.
✔️ Другой пример — загрузка картинок. В ролике видно, как два билборда на стене получают текстуры во время игры. Первый — скачивает картинку из интернета, второй — берёт её уже из кэша.
✔️ Отправка данных на сервер. Поднял простой PHP-сервер из нескольких строк, который принимает входящие запросы и пишет их в текстовые файлы. Простой, но рабочий пример отправки данных. В ролике я для этого использовал зеленый триггер
✔️ Как и в прошлой главе — отдельный класс для управления погодой, отдельный — для работы с сетью. Все инициализируются через локатор служб.
✔️ В книге для HTTP-запросов используется устаревший класс WWW. Я переделал примеры на UnityWebRequest. Так и правильнее, и с корутинами работает лучше — WWW у меня не получилось заставить работать без подвисаний.
⸻
📚 Материалы:
Статья про лямбда-выражения
Ещё статья про корутины
Видео про корутины и не только
P.S. Отдельная благодарность чату GPT, который помог разобраться с использованием UnityWebRequest
#Заметки
Post #20
141