В течение последнего месяца я работал над несколькими вещами одновременно. Вся эта работа ещё не закончена.

  • Цвета орбит, меток и маркеров можно настроить в файле конфигурации скина интерфейса
  • Добавлены новые саундтреки
  • Большие выпадающие списки (например, селектор модулей в редакторе кораблей) можно прокручивать с помощью колеса мыши, они адаптируются к разрешению экрана
  • Поведение выпадающих списков изменено на классическое (они остаются открытым до щелчка левой кнопкой мыши)
  • Метки рисуются большим шрифтом
  • Переменные для управления размером меток и маркеров
  • Все переменные могут быть анимированы с помощью скрипт-команды Interpolate
  • Изменена error-метрика ландшафта, более высокий уровень детализации
  • Счётчики производительности CPU/GPU, улучшенный экран отладки
  • Асинхронная выгрузка сгенерированных текстур с видеокарты обратно на CPU
  • Много исправлений в VR, связанных с системой координат и визуализацией контроллеров Vive
  • Несколько оптимизаций в движке
  • Многие исправления для видеокарт AMD и Intel
  • Новая классификация планет, в том числе добавлены железные, углеродные планеты и т.д.
  • Изменён формат файлов локализации для поддержки новой классификации планет
  • Добавлен файл локализации "eng-gui.cfg"
  • Добавлено отображение, генерация и использование металличности звёзд, (параметр [Fe/H] используемый в астрономии)
  • Параметры солнечных бликов на воде и ледяных поверхностях отделены друг от друга (могут регулироваться независимо)
  • Новый способ отображения двойных планет в Браузере солнечной системы
  • В файл конфигурации вынесены настройки вероятности генерации очень массивных лун и двойных планет
  • Новые карты высот Плутона и Харона, на основе опубликованных недавно NASA
  • Кроме того, интеграция новых туманностей Duke по-прежнему требует большой работы, но она была отложена из-за вышеупомянутых задач.

    Вероятно, наиболее интересной особенностью для вас является новая система классификации планет. Я сделал большой пост на форуме об этом. Новая классификация планет вводит такие основные классы:

    терра (terra) - скалистая планета (объединённые старые классы терры, пустыни и селены)
    аквария (aquaria) - водная/ледяная планета (объединённые старые классы океаниды, ледяные миры и титаны)
    карбония (carbonia) - углеродная/карбидная/алмазная планета (новый класс, гипотетическая планета с преобладанием углерода)
    феррия (ferria) - железная/металлическая планета (новый класс, гипотетический)
    нептун (neptune) - ледяной гигант
    юпитер (jupiter) - газовый гигант
    хтония (chthonia) - ядро ​​испарившегося гиганта или богатого гелием гиганта (не уверен в этом классе)

    Эти основные классы могут быть дополнены префиксами мини-, суб- и супер-, для указания подкласса размера/массы: супертерра, субаквария. Они также дополняются несколькими словами, описывающими некоторые свойства планеты, такие как температура (горячий юпитер, теплая супертерра, холодная аквария), атмосферное давление, наличие океанов, жизни и т.д. Работа над этой системой ещё ведётся.

    В теме на форуме я задал некоторые вопросы о форматировании текста на других языках. Поскольку в русском языке у прилагательных есть род, не так-то просто перевести «warm rocky terra» на русский, просто заменив слова их переводом. То же самое верно и для некоторых других языков, иногда даже порядок слов отличается от английского. Пришлось реализовать некий примитивный «грамматический процессор», который меняет род прилагательных в строке классификации в зависимости от рода определяющего существительного.

    Новая классификация планет также потребовала изменений в генераторе звёзд. Необходимо генерировать и использовать соотношение углерод-кислород в звёздах, которое связано с металличностью звёзд, или параметром [Fe/H]. Отношение углерода к кислороду используется для генерации углеродных планет: предполагается, что звезды с величиной этого параметра, большей 0.8, должны давать популяцию планет с преобладанием углерода (значение для Солнца составляет 0.55). Параметр металличности сильно коррелирует с вероятностью появления горячих юпитеров, поэтому теперь его можно использовать для более реалистичной генерации планетных систем. Я обновил генератор звёзд, так что теперь он генерирует некоторое процедурное распределение этих величин среди разных звёздных населений (населения I и II типа). У некоторых каталожных звёзд в скрипте уже указан параметр FeH - я держал его на будущее, которое, наконец, наступило. Для других каталожных звёзд, не имеющих параметров FeH и CtoO (отношение углерода к кислороду) в скриптах, используется процедурная генерация, основанная на их местоположении в галактике, такая же, как для процедурных звёзд.

    Ещё одно нововведение - изменение в браузере солнечной системы. Теперь он отображает двойные звёзды и планеты в более интересном виде: показывает оба компонента системы в одной и той же ячейке:

    Кстати, на этих скриншотах можно увидеть новые классы планет. Они не окончательные, работа всё ещё ведётся.

    Двойной газовый гигант выглядит довольно угрожающе в браузере:

    Когда пользователь заходит на уровень спутников (по правому клику на ячейке), браузер отображает родительский барицентр в первой ячейке, затем два главных компонента, затем другие возможные общие спутники пары. Так что опция "показывать барицентры" больше не нужна.

    Этот новый стиль отображения очень помогает в поиске двойных планет. Несколько минут изучения галактики показали, что двойные планеты встречаются слишком часто (даже двойные газовые гиганты!). Так что я значительно уменьшил вероятность появления этих объектов. Также я вынес эти вероятности в файл конфигурации, чтобы их можно было легко настраивать в будущем.

    Относительные размеры объектов в превьюшках браузера не линейные, а логарифмические, как и раньше. Это позволяет видеть Землю рядом с Юпитером хоть в каких-то деталях, а не как маленькую точку размером 3 пикселя. Опция «Реальные размеры» все еще присутствует, вы можете получить доступ к настройкам браузера солнечной системы, нажав кнопку с шестерёнкой. Основание этого логарифма также вынесено в конфиг-файл, так что теперь вы можете настроить то, насколько «увеличенными» будут выглядеть малые планеты по сравнению с газовыми гигантами.

    Браузер отображает две двойные планеты в нашей Солнечной системе - Земля-Луна и Плутон-Харон. Это связано с тем, что присутствие общего барицентра используется в качестве критерия для отображения структуры системы таким образом. Вероятно, система Земля-Луна должна быть исключена из этого списка, либо путём добавления специального ключа к скрипту, либо путём изменения поведения браузера таким образом, чтобы он брал за основу отношение масс компонентов пары, а не наличие барицентра.

    Другая вещь, которую я планирую сделать, это переклассифицировать вторичный компонент двойной системы как планету, вместо луны. Для этого надо изменить именование процедурных объектов: если двойная система является третьей планетой от звезды, её главный компонент будет иметь имя «3a», а вторичный «3b». Внешние общие спутники будут иметь обычную нумерацию «3.1», «3.2» и т.д.

    Также я работаю над новыми картами Плутона и Харона, основанными на недавно опубликованных NASA картах. Самое интересное - это DEM карты (цифровая модель высот), теперь можно создать 3D-ландшафт на Плутоне! Вот как он выглядит вблизи. Можно видеть, что карта немного шумная (потому что я обработал пока только jpeg версию), и она значительно смещена относительно цветовой текстуры. Надо скачать её в версии без потерь, найти карту альбедо из того же источника, обработать их (заполнить дыры, исправить разрывы) и преобразовать в формат SE. Я также экспериментирую с усиленным ледяным бликом, вы можете увидеть его в правой части скриншота. Он может быть полезен для отображения гладких ледяных поверхностей на некоторых холодных мирах с атмосферами (безвоздушные тела не могут иметь гладкие поверхности из-за эрозии, вызванной микрометеоритами и радиацией).

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