Я знаю, что прошло много времени после моего последнего блог-поста. Я работал очень много в этом месяце, иногда без выходных. Три основные темы моей текущей работы:

- Продолжение работы над новыми текстурами ландшафта.
- Экспериментальный PBR рендеринг моделей кораблей совместно с Duke.
- Подготовка к релизу OVERVIEW - небольшой игры для VR.
+ Много небольших исправлений и улучшений.

Я опишу работу над текстурами ландшафта и PBR в других постах, а пока расскажу, что такое OVERWIEW. Но сперва полный список изменений за этот месяц.


  • Текстуры ландшафта разделены на materials и samples (WIP).
  • Папка с materials содержит крупномасштабные текстуры поверхности планеты (образцы с реальных спутниковых фотоснимков) - они используются для текстурирования планеты на километровом масштабе.
  • Папка samples содержит детальные текстуры грунта, которые используются на сантиметровом масштабе и автоматически назначаются на основе цвета глобальной текстуры.
  • Поддержка экспорта 16-битных скайбоксов (в форматах png и tiff)
  • Более отзывчивый диалог экспорта текстур (не зависает на время выполнения задания)
  • Поддержка шифрованных pak-файлов
  • Экспериментальный PBR + IBL рендеринг
  • Добавлена ​фейковая аэродинамическая модель только с силой трения, используется в чит-коде UFO
  • Плавное появление генерируемых звёзд и галактик при движении с большой скоростью
  • Гамма-корректный рендеринг E-галактик
  • Переключение на "шутерное" управление вблизи поверхности планеты (фиксированная вертикальная ось)
  • Экспериментальный генератор процедурных описаний объектов для Wiki
  • Кнопка Esc закрывает открытое в данный момент диалоговое окно, и только затем открывает главное меню
  • Настраиваемое главное меню, все кнопки и действия описаны в специальном конфиге data/scripts/MainMenu.cfg
  • Каждая кнопка в главном меню может запускать собственный скрипт сценария
  • Конфиги скинов интерфейса ссылаются на конфиг главного меню, так что каждый скин может использовать свой собственный шаблон меню
  • Новый BB-код [LOC]text[/LOC], используемый для перевода текста, заключенного в нем, на текущий язык; поддерживается в Wiki, скриптах и ​​главном меню.
  • В файлы локализации добавлен специальный раздел для работы с BB-кодом [LOC]
  • Любой текст, отображаемый в скриптах сценариев, может быть переведён на текущий язык (неявное использование BB-кода [LOC])
  • Новое меню редактора
  • Бинарные шейдеры в кэше обновляются автоматически, если исходный glsl-шейдер был изменен.
  • Исправлена работа команды «горизонт» на сжатых планетах
  • Исправлено падение при слиянии двух скриптов планеты, использующих аналитическую модель вращения
  • Многочисленные исправления багов, связанные с бета-версией, включая восстановление поддержки Oculus Rift

  • OVERVIEW

    OVERVIEW - это 30-минутное приложение для виртуальной реальности, созданное французской компанией Orbital Views, основанное на движке SpaceEngine. Оно состоит из шести глав, рассказывающих о Земле и других планетах, Солнечной системе, Млечном пути и его месте во Вселенной. VR - лучшая технология, дающая пользователю ощущение масштабов Вселенной. Тщательно подобранная глубина стереоэффекта позволяет ощущать относительный размер и расстояние между объектами. Вы можете почувствовать себя гигантом, смотрящим на модель Солнечной системы шириной 1 метр, или впечатлиться огромными размерами Юпитера по сравнению с Землей.

    Это первый раз, когда SpaceEngine используется другой компанией для создания игры! Новые скрипты сценариев - важнейшая система, которая сделала это возможным. И, конечно же, поддержка VR, которая сейчас намного более продвинута, чем в 2013 году, когда я начал внедрять VR с Oculus Rift DK1. SE теперь поддерживает Oculus Rift CV1 и HTC Vive. Кстати, именно Orbital Views пожертвовали мне HTC Vive практически сразу после выпуска 0.980. Новая система скриптов разрабатывалась параллельно с началом работать над OVERVIEW, в режиме запрос-реализация-отзыв, поэтому моё с ними сотрудничество началось более года назад.

    OVERVIEW уже отправлена на рассмотрение в Vive Port, и мы работаем над отправкой его в Oculus Store и Steam. Для Oculus Store требуется дополнительная работа в SE, что может занять несколько недель. Выпуск на всех площадках, вероятно, будет в начале 2018 года.

    Работа над OVERVIEW - одна из причин того, почему релиз версии 0.990 настолько задерживается, но оно того стоит! Пожалуйста, будьте терпеливы, 2018 год обещает быть очень успешным для SpaceEngine!

    Другие изменения

    По многочисленным просьбам, реализовал "шутерное" управление на поверхности планеты. Теперь при приземлении вертикальная ось фиксируется, т.е. не будет "завала горизонта" при вращении камерой. Но в космосе управление ориентацией конечно же свободное, там нет понятия "верх". Переход от космического режима к планетарному осуществляется плавным поворотом камеры по крену. Креном можно управлять и на планете, всё теми же кнопками Q и E, но при их отпускании горизонт плавно выравнивается. Режим можно отключить кнопкой 5.

    Кнопкой Esc наконец-то можно закрыть открытое в данный момент диалоговое окно. Меню открывается, когда все окна закрыты.

    Главное меню теперь полностью кастомизируется, т.е. кнопки и текстуры описываются в специальном файле. Каждая кнопка запускает свой собственный мини-скрипт, например "войти в планетарий", "открыть другое меню", или даже запустить скрипт сценария *.se (это используется для запуска туториалов). Такой функционал потребовался для OVERVIEW, ведь там структура меню отличается от SE. Но я решил сделать универсально. Планируется дальнейшее развитие этой системы, так, чтобы в конечном итоге весь интерфейс SE вынести в скрипты. Это откроет возможность сделать, например, свои панели управления для кораблей (естественно, при условии реализации в SE функций, которые кнопки на этих панелях будут запускать).

    Меню редактора теперь выглядит вот так. Удобно? Красиво?

    Обсудить на форуме.