Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 19.6 KB

material-editor-scene.ru.md

File metadata and controls

48 lines (34 loc) · 19.6 KB

Проверка сцены редактора материалов

Английская версия | Работа с материалами

Автоматические проверки

Настройте тестовую сборку x86 и отдельно соберите затронутые цели. Для проверки управления редактором используйте material-preview-panel-tests, drag-value-label-tests и gameui-tests; для загрузки моделей, открытия и закрытия редактора preview-model-tests и material-lifecycle-tests; для изображения scene-preview-gl-tests и studio-capture-gl-tests. Если изменение затрагивает общие интерфейсы, добавьте проверки движка, клиента и остальных модулей, которые используют эти интерфейсы.

GL-проверкам нужен контекст OpenGL 3.3 compatibility. Пропуск GL-сценария не подтверждает корректность рендеринга. Записывайте результаты с ревизией исходников и конфигурацией сборки.

Для наблюдений в игре подготовьте согласованные Release-библиотеки движка, клиента и GameUI по процедуре установки. Сборка цели не устанавливает ее. Закрытие и повторное открытие редактора должны сохранять записанные материалы и оставлять работоспособными предпросмотр настроек и игру.

Проверки разработчиком в игре

Используйте установленную Steam-версию игры с согласованными библиотеками и обновленными ресурсами локализации. При ошибке сохраните ревизию библиотек, видеорежим, путь выбранной модели и вывод r_mat_scene_state.

  1. Запустите клиент без загрузки карты. Задайте developer 1 и откройте «Редактор материалов» в левом верхнем углу. Проверьте обычное меню и вариант с CEF. Выберите установленную модель, которую карта еще не загружала. Должны появиться ее текстуры, семейства скинов, варианты тела и анимации. Закройте редактор и откройте повторно.
  2. Проверьте режимы «Модель» и «Оружие». Мышью вращайте и перемещайте камеру и меняйте расстояние, помещайте модель в кадр и включайте зеркальный вид оружия. Проверьте освобождение мыши при отпускании кнопки, потере фокуса, открытии консоли и закрытии. После редактора должен работать предпросмотр в настройках.
  3. Выберите анимацию, измените кадр, остановите и возобновите воспроизведение, измените скорость. Анимация должна работать без карты. Сравните короткие неповторяющиеся последовательности на скоростях 0.25x, 1x и 2x. Движение должно равномерно занимать заявленную длительность без раннего перехода к конечной позе. Выберите первый, средний и последний кадры, затем переключите последовательность. Проверьте сохранение света при смене модели и текстуры.
  4. Выберите weapon_finish, измените видимый параметр и включите сравнение. Отключите игровые r_studio_shader и r_studio_materials. Редактор должен продолжать показывать авторский материал. После закрытия значения этих cvar должны сохраниться.
  5. Измените азимут, высоту, каждый канал RGB, интенсивности фонового и направленного света. Проверьте пресеты «Нейтральный свет», «Только фоновый свет» и «Скользящий свет». Вращайте камеру при закрепленном свете и проверяйте блики в обоих режимах просмотра.
  6. Измените материал, затем попробуйте сменить модель, текстуру и закрыть редактор. Проверьте «Сохранить», «Не сохранять» и «Отмена». После отмены должны сохраниться выбранная модель, текстура и несохраненные параметры материала. Кнопка «Назад» в каталоге текстур должна восстанавливать ранее выбранное изображение и сохранять остальные изменения. Отмена выбора цвета должна возвращать цвет на момент открытия диалога.
  7. Сохраните документ и откройте его повторно. Выберите конкретные связанные модели для сохранения. Проверьте модель без выбранной текстуры, ошибку записи и частичную ошибку при нескольких целях. Все ошибки должны быть видны, рабочий материал должен остаться несохраненным. Документы невыбранных моделей должны остаться без изменений.
  8. Прокрутите каталог от первой модели до последней, затем задайте и очистите фильтр и повторите сканирование. В каждой видимой строке должна быть миниатюра или метка ошибки. После прокрутки выберите несколько строк. Каждая должна открывать ту модель, название и миниатюра которой показаны в строке. Прокрутка не должна менять несохраненные параметры материала или расходовать лимит загрузки моделей. Достигните общего лимита в 128 новых записей, выбирая установленные модели, в том числе с отдельными файлами текстур. Должно появиться сообщение о лимите, уже загруженные модели должны остаться доступны. Закрытие и повторное открытие редактора не должны обнулять учет.
  9. Проверьте смену видеорежима, отключение и повторное открытие, начало загрузки при открытом подтверждении сохранения. При принудительном выходе должны закрыться редактор и его диалоги, захват мыши должен прекратиться. После подключения камера, прицел, оружие от первого лица и сущности должны использовать игровое состояние.
  10. Проверьте, что управление видом и анимацией находится под сценой с видимым зазором, а вкладка «Освещение» содержит все настройки света. Используйте поле «Модель» на вкладке «Материал» с несохраненными правками. Сбросьте камеру оружия после поворота, перемещения и масштабирования. Анимация, зеркальный вид, материал и свет должны сохраниться.

Переключите видимость солнца, сравните его цвет и стрелки с настройками света. Включите «Вращать солнце» при вертикальном нейтральном свете. Высота должна установиться в 35 градусов и оставаться постоянной, а азимут непрерывно меняться при вращении вокруг модели. Установите скорость солнца 0,25x, 1x и 4x, сравните длительности оборота 96, 24 и 6 секунд, в том числе при остановленной анимации модели и скрытом индикаторе солнца.

Измените скорость во время вращения без сброса отсчета времени, затем остановите и возобновите движение. Смените модель и скорость ее воспроизведения. Во время движения измените пресеты, углы, цвет и силу света. Высота вращающегося солнца должна оставаться в пределах 5..80 градусов. После выключения доступен статический диапазон -90..90. Сброс должен отключить вращение и восстановить скорость солнца 1x. Поля должны соответствовать текущим значениям, а рабочий материал должен сохраниться. 11. Наведите указатель и нажмите на анимированную и зеркальную модель, смените скин и вариант тела. Проверьте прозрачные отверстия и перекрывающиеся поверхности. Обводка и выбор должны соответствовать видимой текстуре. Перетаскивание должно вращать модель без выбора. Отмените смену текстуры при несохраненных правках и проверьте поле текстуры и рабочие значения. Для поверхности с маской задайте альфу uBaseTint программы weapon_finish равной 0,25 и 0,5: щелчок должен выбирать видимую поверхность за ней. Повторите после смены GL-контекста и изменения размера окна. Переведите указатель с модели на пустой фон и оставьте его там на несколько кадров. Модель должна продолжать отображаться без сбоя. 12. Повторите проверки открытия, света, сохранения и закрытия в поддерживаемом Linux-клиенте.

  1. Выберите группу текстур с разными числами, векторами, изображениями и цветами. Проверьте метки различающихся значений, измените один параметр, смените программу, сохраните и повторно откройте каждую выбранную текстуру. Кнопка «Назад» в каталоге изображений и отмена выбора цвета должны возвращать исходный параметр каждой текстуры и метку различающихся значений. Повторите проверку, закрыв диалог цвета и выйдя из каталога через вкладку. Остальные несохраненные изменения должны оставаться на месте. Проверьте «Сохранить», «Не сохранять» и «Отмена» при смене группы.
  2. Введите nan, inf и 1e999 в скалярные и векторные поля. После отказа должно восстанавливаться последнее допустимое значение. Материал и состояние несохраненных изменений должны сохраняться, а редактор должен продолжать отвечать на действия пользователя.

Эти действия проверяют инициализацию движка до первой карты, расположение элементов VGUI и фокус ввода, установленные файлы и внешний вид. Проверки без движка и рендеринг во внеэкранном контексте этих свойств не подтверждают.

Проверка эффектов материалов

  1. Проверьте studio и weapon_finish. Задайте маску с красным градиентом и растворение со значениями 0, 0.5 и 1; совместите его с шумовой прозрачностью при 0, 0.5 и 1. Для каждого эффекта переключите UV и экранные координаты. Перемещайте модель и меняйте размер окна: экранные ячейки должны оставаться квадратными. Зафиксируйте шум скоростью 0, измените начальное значение генератора (seed), затем задайте 4 обновления в секунду. Проверьте наведение и выбор оставшихся фрагментов и отверстий маски.
  2. Выберите режим «Только за преградой», отключите тестовую преграду, выведите указатель на панель параметров и поверните модель на несколько полных оборотов. Повторите проверку с небольшой моделью, содержащей тонкие треугольники, которые видны почти с ребра. Измените размер окна и переключитесь между оконным и полноэкранным режимами. Подкраска, обводка и свечение должны отсутствовать. Выберите «Всегда»: обводка и свечение должны охватывать весь внешний силуэт, а видимые поверхности сохранять материал без подкраски. Выберите «Только видимые»: видимый силуэт должен сохранить обводку.
  3. Включите тестовую преграду. Во всех трех режимах обводки видимые поверхности должны сохранять материал, а скрытые получать подкраску. Задайте ширину обводки 2, радиус свечения 8 и интенсивность 1. Режим «Только за преградой» должен обводить скрытую часть внешнего силуэта, режим «Всегда» весь силуэт, режим «Только видимые» видимую часть силуэта. Полностью скройте модель: в режиме «Только видимые» обводка и свечение должны отсутствовать, а подкраска скрытой модели сохраниться. Обводка не должна проходить поперек модели по границе стены. Ширина 0 должна отключать обводку и свечение. Повторите проверку с MSAA «Выключено» и «4x» в настройках видео, применяя каждое изменение и перезапуская игру по запросу. Проверьте Compare, смену модели и режима вида, смену видеорежима и повторное открытие редактора. При ошибке сохраните показатели r_mat_scene_state.
  4. Установите серверный модуль и его include-файл на тестовый сервер. Откройте меню тестового плагина материалов командой ncl_fx_menu или /ncl_fx. Создайте модель, выберите программу, переключите режим обводки и измените параметры.
  5. Проверьте обычный, точный и крупный шаг изменения параметров, а также ввод числа. Введите 0.1234567 и проверьте сохранение точности после обновления параметра и переподключения. Значения за пределами допустимого диапазона должны ограничиваться его минимумом или максимумом. nan и бесконечность должны отклоняться. Дробный outline_mode должен отклоняться без изменения параметра.
  6. Переместите модель за стену вне потенциальной видимости игрока (PVS) и включите ncl_mat_through_walls. Проверьте отображение модели в NextClient 2.6+ и обычном клиенте, в том числе при подключении после включения эффекта и при переподключении. Отключите флаг. Движок может еще некоторое время передавать недавно видимую модель; дождитесь прекращения передачи.
  7. Повторите проверку после очистки материала, снятия последней привязки, удаления и повторного создания игровых объектов, подбора и выбрасывания оружия, смены карты.
  8. Передача модели вне PVS должна учитывать остальные ограничения сервера: скрытие no-draw, отсутствие модели, правила для наблюдателей и групп, а также максимальное число сущностей в пакете.