ИНСТРУМЕНТЫКОНСОЛЬНЫЕ КОМАНДЫ
Консольные команды
Crushform регистрирует свои команды и переменные в консоли движка. Вводите их в консоли, которая открывается клавишей тильда, или в командной строке Output Log. На этой странице они сгруппированы по назначению. Тот же список с исходным текстом описания каждой команды см. в справочнике консольных команд.
Сборки, в которых они есть: команды-читы работают во всех сборках, кроме Shipping, и в редакторе. Большинство команд полностью отсутствуют в Shipping: Crushform.Debug, Crushform.ShowZones, Crushform.ShowCollision, Crushform.Stats, Crushform.RepairAll, Crushform.WashAll, Crushform.DebugImpact, Crushform.Tire.Debug и режим отладки. Crushform.Collision.Deform, Crushform.Collision.DeferFrames, crushform.Impact.LogHits, Crushform.Impact.MaxSoundsPerFrame, Crushform.Impact.SoundQueueSeconds, Crushform.Glass.ShardScale, Crushform.Glass.MaxLiveShards, Crushform.Glass.ShardSystemsPerFrame и переменные шин, кроме Crushform.Tire.Debug, есть во всех сборках. Команды редактора существуют только в редакторе.
Визуализация
Заголовок раздела «Визуализация»Crushform.Debug 0|1|2(по умолчанию 0, чит): рисует узлы решётки, которые двигают меши кузова, и балки между ними. 0 — выключено, 1 — повреждённые узлы, 2 — все узлы. Недавние удары показываются синими сферами со стрелкой нормали. Выключите и включите команду снова, чтобы перестроить кэшированные маски узлов.Crushform.ShowZones 0|1(по умолчанию 0, чит): рисует зоны жёсткости каждого повреждаемого кузова боксами. Синий — мягкая, зелёный — обычная, красный — жёсткая. Каждый бокс подписан своим множителем жёсткости и ограничением глубины.Crushform.ShowCollision 0|1(по умолчанию 0, чит): рисует проволочным каркасом коллизию, которая есть у каждого повреждаемого кузова сейчас: пурпурным — формы физических тел корневого компонента, включая блоки, которые следуют за вмятинами, белым — формы его свободных навесных деталей. Show Collision движка рисует формы так, как они заданы в ассете, и вмятина их никогда не меняет.crushform.Impact.LogHits 0|1(по умолчанию 0): записывает в лог каждый удар, который оценил компонент отклика на удары, и несколько секунд рисует точку каждого удара. Зелёный маркер означает, что звук проигрался, жёлтый — устойчивый контакт, красный — удар ниже минимума.Crushform.Tire.Debug 0|1|2(по умолчанию 0): оверлей бюджета шин. 1 показывает количество шин на экране, а 2 также показывает лучи каждого деформера и уровень детализации каждой шины.
Повреждения и ремонт
Заголовок раздела «Повреждения и ремонт»Crushform.RepairAll(чит): выправляет каждый повреждаемый эктор, повреждения которого хранит этот инстанс. Выполните на сервере, чтобы отремонтировать кузова для всех игроков. На клиенте чинятся только кузова, которые существуют только на этом клиенте; каждый реплицированный кузов, включая вашу собственную машину, принадлежит серверу, и лог сообщает об этом.Crushform.WashAll(чит): смывает грязь с каждого повреждаемого эктора, повреждения которого хранит этот инстанс; вмятины остаются. Выполните на сервере, чтобы помыть кузова для всех игроков. На клиенте моются только кузова, которые существуют только на этом клиенте, и лог сообщает об этом.Crushform.DebugImpact [DeltaV] [Name](чит): бьёт по повреждаемому эктору на расстоянии до 100 м. Без имени бьёт по кузову под прицелом, найденному из вида игрока; трассировка пропускает пешку, которой вы управляете, поэтому автомобиль, которым вы едете, никогда не получает удар. С именем бьёт по эктору, чьё имя или метка содержат его, целясь в тот из его кузовов, что ближе всего к центру эктора, и сообщает, если на пути стоит другое тело. Первый аргумент — изменение скорости в м/с, по умолчанию 10; первый аргумент, который не является числом, принимается за имя. Используйте команду, чтобы проверить вмятину, не врезаясь ни в что: встаньте в 100 м от припаркованного автомобиля и выполнитеCrushform.DebugImpact 18 BP_VehicleAdvSedan2.
Режим отладки
Заголовок раздела «Режим отладки»Crushform.DebugMode(чит): переключает режим отладки: свободную камеру и панель инструментов. Его регистрирует модульCrushformDebug, которого нет в сборках Shipping. См. Режим отладки.Crushform.DebugMode.AllowClients 0|1(по умолчанию 1): разрешает ли сервер запускать инструменты отладки для удалённых клиентов (1) или только для своего локального игрока (0).
Статистика
Заголовок раздела «Статистика»Crushform.Stats(не чит): выводит занятые слоты атласа и счётчики каждого повреждаемого эктора в мире. Есть во всех сборках, кроме Shipping. В редакторе, во время Play In Editor, выводит каждый играющий мир: мир сервера и каждого клиента, различаемые по роли.
Запустите stat с именами групп статистики плагина, чтобы увидеть стоимость каждого модуля в кадре: stat Crushform, stat CrushformTire, stat CrushformBreakable, stat CFBreakableInstances, stat CrushformDebris, stat CFPropContact, stat CFImpactFeedback, stat CrushformVehicle, stat CrushformChaos, stat CrushformWheel, stat CrushformEngine, stat CrushformPlayground и stat CrushformDebug. Модуль камеры не объявляет ни одной группы.
Коллизия
Заголовок раздела «Коллизия»Коллизия кузова с вмятинами. Эти переменные есть во всех сборках. Настройки проекта UCFSettings::bDeformCollision и UCFSettings::CollisionDeferFrames записываются в них при запуске и в редакторе; см. Настройки проекта.
Crushform.Collision.Deform(1): следует ли коллизия за вмятинами в этом проекте. 0: каждый автомобиль сохраняет коллизию из ассета. Читается, когда у автомобиля начинается игра. Консольная команда, аргумент командной строки или профиль устройства переопределяет настройку проекта.Crushform.Collision.DeferFrames(1): сколько кадров тяжёлая сборка коллизии может идти вне игрового потока, прежде чем оказаться на кузове, 0 или 1. 0 строит всё в кадре удара. Отрицательное значение считается как 0, значение больше 1 — как 1. Консольная команда, аргумент командной строки или профиль устройства переопределяет настройку проекта.
Отклик на удары
Заголовок раздела «Отклик на удары»Предел звуков отклика на удары. Обе переменные есть во всех сборках. Каждая записывается из настройки проекта при запуске и в редакторе; см. Настройки проекта.
Crushform.Impact.MaxSoundsPerFrame(2): наибольшее число звуков, которые стартуют в одном кадре. Остальные ждут следующих кадров, самые сильные первыми. 0 снимает предел. Консольная команда, аргумент командной строки или профиль устройства переопределяет настройку проекта.Crushform.Impact.SoundQueueSeconds(0.15): сколько звук сверх предела кадра может ждать; после этого он отбрасывается.
Осколки разбитой стеклянной панели. Все три переменные есть во всех сборках.
Crushform.Glass.ShardScale(1): доля осколков разбитой панели, которые разлетаются, от 0 до 1. 0 не бросает ни одного; значения вне диапазона обрезаются.Crushform.Glass.MaxLiveShards(512): наибольшее число осколков разбитых панелей, живых одновременно. 0 снимает предел.Crushform.Glass.ShardSystemsPerFrame(1): сколько систем осколков разбитых панелей стартует в одном кадре. Остальные стартуют в следующих кадрах по порядку. 0 снимает ограничение.
Бюджет шин. Все эти переменные есть во всех сборках. Каждая переопределяет соответствующую настройку проекта в Project Settings > Plugins > Crushform Tire, будь то консольная команда или аргумент командной строки. Значения по умолчанию — это значения, с которых начинаются эти настройки.
Crushform.Tire.Enable(1): при 0 каждая шина возвращается в круглую форму.Crushform.Tire.MaxWheels(30): шины, которые могут деформироваться одновременно. Собственный автомобиль зрителя деформируется всегда.Crushform.Tire.Radius(4000 см): расстояние от камеры, в пределах которого могут деформироваться шины других автомобилей.Crushform.Tire.LodDistance1(1500 см) иCrushform.Tire.LodDistance2(3000 см): расстояния двух уровней детализации.Crushform.Tire.Hysteresis(0.15): насколько расширяются границы выделенной шины. Значение ограничивается диапазоном от 0 до 0.9.Crushform.Tire.UpdateInterval(0.25 с): время между двумя проходами бюджета.Crushform.Tire.OnScreenTolerance(0.5 с): сколько времени после последней отрисовки колесо ещё считается находящимся на экране.
Режим бюджета — это настройка проекта UCFTireSettings::Scope; см. Настройки проекта.
Только в редакторе
Заголовок раздела «Только в редакторе»Эти команды существуют в редакторе, а не в сборке игры. Они пересобирают функции материалов и порядок грязи проекта после изменения соответствующих настроек. Каждая из них оставляет изменённые материалы несохранёнными, поэтому сохраните их после выполнения.
Crushform.RewireLooks: применяет настройки видов, Body Dirt Look, Wheel Dirt Look и Glass Crack Look, ко всем сохранённым материалам, которые вызывают функцию грязи или стекла Crushform.Crushform.RebakeDirtOrder: запекает порядок грязи в функции грязи после изменения каналов грязи или Dirt Layer Order.Crushform.RebakeOffsets: запекает Custom Data Offsets в функции, которые их используют, после изменения одного из четырёх смещений.
Проверка работы
Заголовок раздела «Проверка работы»На уровне Proving Ground в Play In Editor встаньте в 100 м от припаркованного седана и выполните Crushform.DebugImpact 10 BP_VehicleAdvSedan2. Output Log выведет строку такого вида, и в ней назван кузов:
Crushform.DebugImpact: hit <body> at 10.0 m/s; it is now damaged.Затем выполните Crushform.Stats. В строке кузова перечислены удары, которые на него нанесены, поэтому там будет не меньше одного.
Когда команда не может ударить, Output Log вместо этого выводит одну из следующих строк, с подставленными именами:
Crushform.DebugImpact: no local player to aim with.Crushform.DebugImpact: the speed change must be a positive number of m/s.Crushform.DebugImpact: no damageable actor whose name contains '<name>'.Crushform.DebugImpact: nothing in view within 100 m.Crushform.DebugImpact: <body> stands between you and <target>.Crushform.DebugImpact: <body> takes no Crushform damage.Crushform.DebugImpact: <body> is not hit from this machine; run it on the server or on the machine that drives it.Решение проблем
Заголовок раздела «Решение проблем»Команда неизвестна. Причина: команда пришла из модуля, который сборка не загружает. Отладочные команды отсутствуют в сборках Shipping, а команды редактора — в сборках игры. Решение: проверьте сборку, как указано в начале этой страницы.
Crushform.DebugImpact сообщает nothing in view within 100 m или что кузов takes no Crushform damage.
Причина: прицел не находит кузов в пределах 100 м либо найденный кузов не имеет компонента деформации Crushform. Автомобиль, которым вы управляете, никогда не находится, потому что трассировка пропускает вашу собственную пешку.
Решение: прицельтесь в припаркованный кузов с компонентом деформации Crushform либо передайте имя кузова вторым аргументом.
Crushform.DebugImpact сообщает stands between you and.
Причина: названный кузов находится за другим кузовом, если смотреть с вашей позиции.
Решение: перейдите на место с чистым видом на названный кузов и выполните команду снова.
Crushform.DebugImpact сообщает, что удар не выполняется с этого инстанса.
Причина: этот инстанс не хранит повреждения кузова. Клиент рисует повреждения сервера.
Решение: выполните команду на сервере или на инстансе, который управляет кузовом.