Перейти к содержимому
CRUSHFORMV1.1.0
ПОЛУЧИТЬ НА FAB

СПРАВОЧНИКDATA ASSET

UCFProfile

МОДУЛЬCrushformЗАГОЛОВОКCFProfile.hРОДИТЕЛЬUDataAsset

Как один вид автомобиля или пропа мнётся и теряет краску. Длины — в см, скорости — в м/с.

Функции

AUTHORITY · сервер, на каждом инстансеLOCAL · этот инстансPURE · только чтение
FCFHitParams MakeHitParams(const FVector3f& GridOrigin) const
PUREC++ ONLY

Настройка ударов решётки. GridOrigin — начало решётки в пространстве корневого компонента: зоны жёсткости смещаются им.

FCFDirtShape MakeDirtShape() const
PUREC++ ONLY

Форма грязи этого профиля, с масштабированием скорости из настроек проекта.

bool UsesExplicitBounds() const
PUREC++ ONLY

Включены ли и заданы ли Explicit Bounds, так что решётка и есть этот бокс, как он задан.

float GetSkinInset() const
PUREC++ ONLY

На каком расстоянии внутри края решётки лежит «кожа» кузова, см: Lattice Margin, 0 для Explicit Bounds (FCFHitParams::SkinInset).

Свойства

FIntVector Resolution = FIntVector(16, 8, 8)

Число узлов решётки по каждой оси. Каждая ось кратна 4; ResX * ResZ и ResY должны помещаться в один слот атласа (Project Settings > Plugins > Crushform).

По умолчанию
FIntVector(16, 8, 8)
Категория
Lattice
float LatticeMargin = 10.0f

На сколько сантиметров решётка выходит за коллизию кузова с каждой стороны. Физика сообщает контакт быстрого удара на несколько сантиметров от поверхности, а контакт за пределами решётки отбрасывается.

По умолчанию
10.0f
Категория
Lattice
bool bUseExplicitBounds = false

Берёт ли решётка Explicit Bounds вместо бокса коллизии кузова.

По умолчанию
false
Категория
Lattice
FBox ExplicitBounds = FBox(ForceInit)

Границы решётки в пространстве корневого компонента; используются как есть вместо бокса коллизии.

По умолчанию
FBox(ForceInit)
Категория
Lattice
TArray<FName> IncludeTags

Деформируются только меш-компоненты с одним из этих тегов. Если пусто: все статические и скелетные меши владельца.

Категория
Components
TArray<FName> ExcludeTags

Меш-компоненты с одним из этих тегов никогда не деформируются.

Категория
Components
bool bDents = true

При Off удары, сжатия прессом и отчёты об ударах никогда не оставляют вмятин и царапин на кузове, а грязь, заливки и мойка работают как обычно. Для кузовов, которые только пачкаются, например прицепов. Решётка всё равно строится: сетка грязи берёт из неё разрешение.

По умолчанию
true
Категория
Dents
bool bDeformCollision = true

Повторяет ли коллизия кузова его вмятины: другие автомобили, объекты и пешки сталкиваются с помятой формой. Каждый бокс или выпуклый объём разрезается на блоки вдоль решётки там, где вмятина его изгибает (Project Settings, Crushform: Collision Block Tolerance, Max Collision Blocks); каждый блок — выпуклая оболочка его точек, сдвинутых решёткой. Сферы и капсулы следуют за своими точками. Масса и инерция сохраняют свои значения. Выключенная настройка проекта Deform Collision важнее этого параметра.

По умолчанию
true
Категория
Dents
bool bHingedParts = true

При Off навесные детали (компоненты Crushform Hinge) никогда не открываются, не отваливаются и не отрываются: они остаются там, где их поставил Blueprint, и мнутся вместе с кузовом, как любая другая панель. Это ассет профиля: во время игры не переключается.

По умолчанию
true
Категория
Dents
bool bDentedPartCollision = true

Сталкивается ли навесная деталь после отрыва как одна выпуклая оболочка её помятой простой коллизии, так что коллизия повторяет вмятину, нанесённую на неё. При Off отделившиеся детали сохраняют простую коллизию своих статических мешей ровно такой, как она есть в ассетах, без вмятин, так что вогнутая деталь, например бампер, сохраняет свои собственные формы, а не одну оболочку вокруг них. Собственный Dented Part Collision шарнира переопределяет этот параметр, а выключенная настройка проекта Deform Collision важнее обоих. Читается в начале игры.

По умолчанию
true
Категория
Dents
float MinDeltaV = 0.5f

Скорость удара до образования вмятины, м/с: скорость, которую кузов теряет вдоль нормали контакта, либо, при ударе о податливое тело, скорость в неподвижную стену, которая поглотила бы ту же энергию. Также отсекает контакты в покое.

По умолчанию
0.5f
Категория
Dents
float Stiffness = 3.0f

Глубина вмятины на каждый м/с сверх MinDeltaV, см. При ударе вся площадка контакта вдавливается на эту глубину за контактом, так что то, что выступало над поверхностью, уходит глубже всего.

По умолчанию
3.0f
Категория
Dents
float MaxDentPerHit = 20.0f

Максимальная глубина вмятины от одного удара, см, при Stiffness зоны жёсткости, равном 1: более мягкая зона выходит за неё пропорционально (0.5: вдвое глубже), более жёсткая остаётся ниже. Держится заметно ниже MaxDisplacement, чтобы повторные удары всё ещё углублялись: точечные удары сами по себе, а также удар по площадке контакта (стене) со стороны грани, которую он помял раньше.

По умолчанию
20.0f
Категория
Dents
float BaseRadius = 30.0f

Радиус вмятины при нулевой скорости, см.

По умолчанию
30.0f
Категория
Dents
float RadiusPerDeltaV = 1.5f

Радиус вмятины, добавляемый на каждый м/с удара, см. Слишком быстрый рост радиуса растягивает ту же глубину в неглубокую чашу, которая не читается как вмятина.

По умолчанию
1.5f
Категория
Dents
float LateralScale = 1.5f

Ширина вмятины поперёк удара, как доля её радиуса. Широкие и короткие вмятины читаются как смятый металл, узкие и круглые — как резина.

По умолчанию
1.5f
Категория
Dents
float CrumpleRatio = 3.0f

На какую долю глубины удара точечный удар сминает металл внутрь кузова: удар без измеренной площадки контакта, сверх бюджета таких ударов на кадр или когда не с каким телом сравнивать. Давление гаснет на этой длине, так что перед автомобиля складывается гармошкой, а не проваливается. Удар по площадке контакта вместо этого вдавливает грань ровно.

По умолчанию
3.0f
Категория
Dents
float DragFraction = 0.3f

На сколько скользящий удар протягивает вмятину вдоль поверхности, относительно её глубины: полностью, когда кузов скользит с той же скоростью, с какой удар его останавливает, и почти нет, когда он встречает другое тело лоб в лоб. Для точечного удара: удар по площадке контакта (стене) вдавливает только вдоль самого удара.

По умолчанию
0.3f
Категория
Dents
float NoiseAmount = 0.3f

Случайный разброс глубины вмятины точечного удара по узлам, чтобы металл не выглядел как резина. Он только убавляет глубину, поэтому самый глубокий металл от аварии выходит рваным, а не плоской пластиной на Max Dent Per Hit. Удар по площадке контакта (стене) вдавливает грань в одну ровную плоскость без этого разброса.

По умолчанию
0.3f
Категория
Dents
float Bulge = 0.5f

На сколько металл, сжатый о стену или о грань другого тела, выпучивается поперёк удара, как доля глубины вдавливания: капот вздымается, бока переда выгибаются, край крыши поднимается над смятой дверью. Грань, прижатая к другому телу, остаётся ровной; выпучивание максимально на середине сжатого металла и не выше трети того, насколько вмятина распространяется поперёк удара. Точечный удар не выпучивает. Выше 0.75 ячейки решётки автомобиля выворачиваются наизнанку при ударе под углом к кузову.

По умолчанию
0.5f
Категория
Dents
float BulgeDownShare = 0.3f

Доля Bulge, которую сжатый металл забирает вниз, к полу; вверх и в стороны уходит весь.

По умолчанию
0.3f
Категория
Dents
float MaxDisplacement = 60.0f

Максимальное смещение любого узла, см. Материалы кузова должны использовать его как Max World Position Offset Displacement.

По умолчанию
60.0f
Категория
Dents
TArray<FCFStiffnessZone> StiffnessZones

Боксы в пространстве корневого компонента, где кузов жёстче или мягче остального: мягкая зона смятия спереди, салон, который сохраняет форму, лонжероны, которые держат. Где боксы перекрываются, побеждает более жёсткий; зона Mirrored покрывает также своё отражение по Y = 0. Crushform.ShowZones и редактор зон (выберите компонент Crushform во вьюпорте) отрисовывают их; сжатие плоскостью (UCFDeformComponent::CrushByPlane) их игнорирует.

Категория
Dents
float DentAbrasion = 0.002f

Износ краски, добавляемый на каждый см вмятины: краска трескается там, где гнётся металл. Мало, чтобы вмятина читалась как согнутый металл, а не как пятно грунтовки.

По умолчанию
0.002f
Категория
Paint
float MinAbrasionDepth = 3.0f

На сколько сантиметров должен сдвинуться металл, прежде чем Dent Abrasion начнёт стирать его краску, и стирает только ход сверх этого: сантиметр-два, на которые авария сдвигает кузов далеко от удара, не оставляют там сколов. Потёртости стирают краску на любой глубине. Дополнительное растрескивание глубоких вмятин в MF_CF_Paint начинается с фиксированных 3 см, чему бы это значение ни равнялось.

По умолчанию
3.0f
Категория
Paint
float MinScrapeSpeed = 1.5f

Скорость скольжения, ниже которой контакты не трогают краску, м/с. Толчок, который трётся о панель, остаётся ниже неё.

По умолчанию
1.5f
Категория
Paint
float ScrapeRate = 0.05f

Износ краски за метр проскальзывания, до Max Paint Wear. Низкое значение, чтобы одна царапина скалывала краску, а не снимала её.

По умолчанию
0.05f
Категория
Paint
float ScratchRate = 0.05f

Покрытие царапинами, которое узел получает за метр, проскользнувший по нему при потёртости, до Max Scratch: тонкие линии вдоль скольжения. Один проход по узлу добавляет около Scratch Rate, умноженного на удвоенный Scrape Radius (в метрах); 0 не оставляет линий.

По умолчанию
0.05f
Категория
Paint
float ScrapeRadius = 30.0f

Радиус царапины, см.

По умолчанию
30.0f
Категория
Paint
float MaxPaintWear = 0.2f

Наибольший износ краски, который получает любая точка кузова, 0..1: доля краски, которую разбитый автомобиль может потерять до грунтовки и голого металла. 1 позволяет стереть всё.

По умолчанию
0.2f
Категория
Paint
float MaxScratch = 0.033f

Наибольшее покрытие царапинами в любой точке кузова, 0..1: доля краски, которую разбитая машина может потерять под линиями царапин. Линии покрывают не больше примерно 0.36 краски, поэтому значение выше ничего не добавит.

По умолчанию
0.033f
Категория
Paint
float MinRadiusInCells = 1.25f

Минимальный радиус вмятины или царапины в ячейках решётки: меньший может провалиться между узлами и исчезнуть.

По умолчанию
1.25f
Категория
Lattice
float MaxPlausibleDeltaV = 40.0f

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

По умолчанию
40.0f
Категория
Network
float BoundsScaleWhenDented = 1.1f

Масштаб границ помятого меша: вмятины немного выпучиваются наружу по своим краям.

По умолчанию
1.1f
Категория
Rendering
float DirtScale = 1.0f

Умножает каждый слой грязи на этом кузове; 0 оставляет его чистым и вообще не создаёт сетки грязи.

По умолчанию
1.0f
Категория
Dirt
FCFDirtChannelShape DustShape = FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Dust)

Где на этом кузове оседает пыль.

По умолчанию
FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Dust)
Категория
Dirt
FCFDirtChannelShape MudShape = FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Mud)

Где на этом кузове оседает грязь.

По умолчанию
FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Mud)
Категория
Dirt
FCFDirtChannelShape SnowShape = FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Snow)

Где на этом кузове оседает снег.

По умолчанию
FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Snow)
Категория
Dirt
FCFDirtChannelShape WetShape = FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Wet)

Где на этом кузове оседают брызги воды.

По умолчанию
FCFDirtChannelShape::MakeDefault(ECFDirtChannel::Wet)
Категория
Dirt