«Космические лазеры» SpaceX Starlink впервые успешно прошли испытания на орбите
Компания SpaceX провела первое успешное испытание на орбите спутниковых «космических лазеров» Starlink, что является значительным шагом на пути к обновленной группировке «Версии 2».
Проще говоря, эти «лазеры» - разновидность оптической (световой) связи с чрезвычайно высокой полосой пропускания, потенциально обеспечивая беспроводную, высокоскоростную передачу огромных объемов данных на большие расстояния. Из 715 спутников Starlink, запущенных SpaceX за последние 16 месяцев, около 650 являются действующими космическими аппаратами версии 1 (v1.0), предназначенными для обслуживания ограниченной группы клиентов на ранних этапах формирования группировки спутников. Ранее считалось, что ни один из этих спутников не имеет лазерных приемо-передатчиков, но после объявления SpaceX 3 сентября о проведенных испытаниях, теперь мы знаем, что два космических корабля - предположительно запущенных в рамках Starlink-9 или -10 в августе - успешно испытали прототипы лазеров на орбите.
С тех пор, как в начале 2015 года генеральный директор Илон Маск впервые объявил о планах SpaceX в области спутникового Интернета, планировалось наличие системы коммуникаций между некоторыми или всеми тысячами спутников, которые потребуется запустить. Для обеспечения основной функциональности этих спутников подобная система межспутниковой коммуникации не требуется, но ее наличие предлагает некоторые важные преимущества в обмен на дополнительную сложность и стоимость космических аппаратов.
Самым большим преимуществом лазерных соединений, скорее всего, является значительное сокращение задержек (ping), которое они могут обеспечить по сравнению с аналогичной сетью без этого. Перемещая большую часть работы на орбиту, данные, передаваемые по объединенной спутниковой сети, теоретически требуют гораздо меньшего количества маршрутов до конечного пользователя, что физически сокращает расстояние для прохождения данных. Скорость света (300 000 км/с) огромна, но даже в небольших масштабах Земли, с добавлением задержек в оборудовании, присущих даже лучшим волоконно-оптическим кабелям, маршрутизация данных к противоположным концам планеты и обратно замедляется из-за большой задержки.
Без взаимосвязей Starlink и интернет-группировки функционируют больше как посредник для отдельных пользователей и фиксированных наземных станций, которые затем подключают этих пользователей к остальной части Интернета. В этом режиме работа группировок, фактически, фильтруется через существующую наземную интернет-инфраструктуру и требует установки станций относительно близко к конечным пользователям. Если спутник без связи с соседями может «видеть» (и, таким образом, общаться) клиентов, но не может «видеть» наземную станцию с со своей орбитальной точки, он физически неспособен соединить эти коммуникации с остальной частью Интернета.
Существующая на данный момент группа Starlink SpaceX продемонстрировала на бета-тестерах, что сеть уже способна обслуживать отдельных полосой пропускания до 100 мегабитами в секунду (Мбит/с) с задержкой, примерно сопоставимой со средними проводными соединениями. Результат: имеем интернет-сервис, который во многом соизмерим (разве что несколько сложнее) с существующими оптоволоконными системами. Таким образом, чтобы полностью реализовать потенциал группировки Интернет-спутников на низкой околоземной орбите, необходимы высокопроизводительная лазерная связь спутников друг с другом.
С лазерными межсоединениями вышеупомянутый сценарий разрыва соединения был бы практически невозможен. В случае, если активный спутник обнаружит, что обслуживает клиентов без доступа к наземной станции, он перенаправит эти пакеты данных с помощью лазера на другой спутник с немедленным доступом к наземной станции. Еще лучше, после соответствующей доработки, если пакеты данных могут быть маршрутизированы с помощью лазера к наземным станциям, физически ближайшим к пользователю и месту назначения трафика.
Межспутниковые каналы связи предлагают еще одно существенное преимущество: пожертвовав задержкой, объединенная сеть сможет покрыть большую площадь, позволяя маршрутизировать соединения пользователей, находящихся далеко от наземных станций, через другие спутники к ближайшей наземной станции. Массовое строительство наземных станций и сложности в урегулировании международных соглашений по этому вопросу, могут потребовать много времени и ресурсов.
Полностью взаимодействующая между собой группировка Starlink Version 2 от SpaceX должна обеспечить задержку до 8 миллисекунд и надеется увеличить ограничение пропускной способности индивидуальных подключений до гигабита и более. Как только работоспособный вариант спутника Starlink v2.0 будет завершен и протестирован на орбите, SpaceX, вероятно, прекратит производство и запуск версии v1.0.
https://www.teslarati.com/spacex-starlink-space-lasers-first...
Как артист делал оптимальные лазерные лучи
Настало время оптимизации нашей иры-головоломки от первого лица. В посте будет много картинок, видео и НЕ БУДЕТ математики / программирования. Вся "математика" будет описана на пальцах, показаны только общие идеи. Итак, под оптимизацию попали лазерные лучи.
До этого в grayBox мы использовали юнитевский LineRendere.
Достоинства:
- берется из коробки
- гибкий, хорошо подходит для создания прототипа лазерного луча ну или чего вам заблагорассудится
Недостатки:
- работает неоптимально.
Неоптимальность незаметна на одном, 2-х и даже на десяти лучах. Но вот если у вас в игре лазер, который отражается от зеркал, делится на несколько лучей при прохождении через призму, имеет несколько цветов... то тут уже стоит прикинуть сколько +drawCalls накинут сверху только лучи. Ну, у нас могло набегать 4, 8 и даже 30 drawCalls.
Этот пост будет интересен, пожалуй, не программистам/разработчикам игр. Их этим не удивишь, а вот обычынм людям будет интересно посмотреть отдаленно на то, сколько усилий вбивается лишь для того, чтобы в игре были лазерные лучи.
До того как браться за луч, сделал наброски источника лазера и приемника. Свел их по дизайну между собой, ну и с другими элементами. Скетки источника лазера, надеюсь что-то будет понятно.
3/4, сбоку, вразрезе, чтобы моделлер лучше понял конструкцию:
Первые наброски:
Наброски приемника луча:
Работает в целом так: луч попадает в приемник и применик передает сигнал о том, что в него попали. На основе этого разворачивается одна из игровых механик.
Больше скетчей, если интересно, выкладываю сюда:
https://www.instagram.com/cgaleksey/
На https://vk.com/dronesgame пока ничего не выкладываю, но если добавятся больше 1.5 человека XD, то и туда начну скидывать.
По коду.
Почему не взял какой-то готовый плагин. Взял, результат не понравился. Пробовал Vectosity. Вот я, пишу несамый читабельный код. Но код мой и пишу так, что я могу его понять так как проект делаю для себя. А вот создатель Vectosity я бы сказал накрутил каких-то неральных сложностей. В его коде я так и не смог разобраться чтобы устранить баг, который мне мешал. Вот баг, тектсура как-то деформируется или хз что с ней:
Написал разработчику Vectosity чтобы узнать в чем проблема, когда исправит. С его слов это неисправимый косяк GPU. Короче нафиг-нафиг-нафиг... потом буду заикаться от него из-за того что будут вспоминать добрым словом.
Итак поехали. Что нужно:
- система рисования всех лучей на GPU за 1drawCall;
- возможность задавать разные текстуры и прочие параметры лучам.
Для решения этой задачи придется писать код не только на стороне процессора, но и на стороне GPU. Идея такая: рейкастим на пути луча все что видим, отражаем луч от предметов, которые отражаю. В итоге получаем набор координат. Этот набор координа - это начала и концы сегментов лазерного луча.
Этот набор параметров (array) мы подаем в шейдер при генерации меша на GPU.
Так же мы подаем на GPU набор параметров (тоже array): цвет, индек текстуры, толщина луча и всего чего вам еще вздумается.
И да, лучше чтобы эти параметры подавал какой-то менеджер. То есть в менеджер мы подаем какие лучи нарисовать, а он собирает данные и передает их на GPU.
Сам лазерный луч будем рисовать так:
1) на концах луч должен быть светлее так как это выглядит естественно. Используем grayscale-маск текстуру для этого;
2) переход от центра луча к перифирии (цвет и прозрачность) задаются grayscale-маской;
3) ну и добавим какой-нибудь шум, типа cloud и будем анимировать его, чтобы имитировать туман или движение воздуха.
И да, желательно склеить маски и все на свете в одну текстуру, не цари чтобы баиндами разбрасыватья.
Как по точкам на GPU нарисовать линию. Идея такая:
- в шейдере линия имеет вектор направления (начало-конец)
- есть доступ к позиции камеры.
Ну и все, делаем в шейдере сross(lineDir, camDir) и получаем направление вектора толщины линии. Передаем в шейдер параметром толщины и им можем регулировать толщину линии.
На словах все просто, на деле ушло много времени. Вот рисую линии на GPU по координатам:
Как видно, все ровненько и красиво и текстуру не колбасит как на предыдущем видео. И что там за проблемы с GPU у него были... Так можно отрисовать хз как много линий, зависит от того сколько вершин Unity разрешает использовать (если не ошибаюсь). Вроде 65к в последний раз было максималкой, а это куча линий, мне хватит :)
Версия сырого луча и приемника луча:
Это видео с грейбокс-тестов. Ну, бокс как видно, совсем не gray XD Еще здесь нет нормальной градиентной маски на луче. Луч сильно упрощен: (нет тумана, градиент подобран на скорую руку, концы луча не засветлены... короче, артист не занимался тогда еще этим)
Качество графики у нас не такое, на видосе часть прототипа с минимальной графикой и моделями, которые используются только в процессе разработки:
В итоге линия (лазерный луч) выглядит так. Здесь уже все:
- градиенты настроены
- туман пост-процессом наложен поверх полупрозрачного луча
- концы засветлены
- есть немного анимации тумана
- вся отрисовка на стороне GPU за 1 drawCall, красота :)
Надеюсь кому-то пост понравился и кто-то нашел что-то полезное для себя.
Еще раз ссылки на материалы по игре:
https://twitter.com/CGAleksey
https://www.instagram.com/cgaleksey/
Спасибо за внимание :)
Готовы к Евро-2024? А ну-ка, проверим!
Для всех поклонников футбола Hisense подготовил крутой конкурс в соцсетях. Попытайте удачу, чтобы получить классный мерч и технику от глобального партнера чемпионата.
А если не любите полагаться на случай и сразу отправляетесь за техникой Hisense, не прячьте далеко чек. Загрузите на сайт и получите подписку на Wink на 3 месяца в подарок.
Реклама ООО «Горенье БТ», ИНН: 7704722037
Почему китайцы до сих пор не придумают?
Такой типа лазер,чтоб дома поставил или гденить на рыбалке у речки,и чтоб он лазером так пиу-пиу как в Звездных войнах уничтажал комаров на подлете?))