СПРАВОЧНИКЭКТОРЫ
ACFBreakableTree
Одно физическое тело ствола на всё время его существования: стоит, гнётся, падает или согнут и зафиксирован, а в конце превращается в статическую геометрию.
Стоящий ствол — это кинематическое тело без джоинта, которое спит с BeginPlay: лес, расставленный на уровне, ничего не стоит, пока UCFPropContactComponent его не взведёт. Момент поддачи определяется углом: авторити пересекает YieldAngleDegrees и фиксирует решение, а клиент предсказывает то же пересечение и начинает падение локально, без задержки: гашение пружины привода — обычное обратимое изменение джоинта, в отличие от разорванного джоинта или перенесённой пластической цели привода. Клиент освобождает джоинт (жёсткое завершение FellAndFall) только после того, как bYielded на авторити действительно подтвердит предсказание; неподтверждённое предсказание откатывается.
Дерево также может отрисовываться скинированным мешем, который анимирует Dynamic Wind (TrunkSkinnedMesh). Это чисто визуальная часть, привязанная к тому же телу ствола: если у неё есть меш при создании или в BeginPlay, TrunkMesh скрывается и остаётся только как физическое тело и прокси коллизии, поэтому все перечисленные правила по-прежнему работают только с TrunkMesh.
Функции
Физическое тело ствола и прокси коллизии. Скрывается, когда TrunkSkinnedMesh рисует дерево.
Необязательный скиннированный меш, который рисует дерево вместо TrunkMesh. Может не иметь назначенного меша.
Ассет настроек для вида дерева. Null, если не назначен.
Джоинт, который держит ствол в мире, пока дерево взведено.
Взвёл ли дерево ближайший автомобиль (джоинт существует и дерево симулирует физику). Локально для этого инстанса: взведение не реплицируется.
- Категория
- Crushform|Tree
Поддалось ли дерево: срубленный ствол начал падать или согнутый столб достиг упора. Реплицируется с авторити.
- Категория
- Crushform|Tree
Превратился ли ствол в статическую геометрию. Реплицируется с авторити.
- Категория
- Crushform|Tree
Количество респаунов на данный момент, с переходом через 256. Это счётчик, а не флаг, поэтому второй респаун по-прежнему является изменением, которое видят клиенты.
- Категория
- Crushform|Tree
Только на авторити. Немедленно ставит поддавшееся дерево (упавшее, валящееся или зафиксированный столб) обратно, по пути таймера, независимо от условий респауна. Возвращает false для стоящего дерева или при вызове на инстансе, который не является авторити.
Достаточно ли недавнее последнее реплицированное изменение состояния (поддача или успокоение), чтобы его можно было увидеть вживую. Всегда true на авторити.
Текущий угол изгиба в градусах, измеряемый по собственному живому повороту ствола — никогда не отслеживаемое отдельно значение.
- Категория
- Crushform|Tree
Локально для этого инстанса. Создаёт джоинт и начинает симулировать физику или, если уже взведено, просто отменяет ожидающий RequestDisarm(). Идемпотентен и достаточно дёшев, чтобы вызывать каждый тик для каждого дерева рядом с автомобилем. Не выполняется (один раз пишет в лог), если TreeConfig отсутствует или не проходит UCFTreeConfig::ValidateTreeConfig, и молча, пока дерево вне игры (до BeginPlay или после EndPlay из выгруженной ячейки).
Локально для этого инстанса. Планирует Disarm() через DisarmDelaySeconds, если что-то раньше не вызовет Arm() снова. Ничего не делает после поддачи — упавший или зафиксированный ствол никогда не превращается обратно в кинематическое тело — и вне игры, как Arm().
Записывает текущее отклонение джоинта в Custom Primitive Data каждого меша ствола для материала изгиба WPO (см. BendAmountCpdIndex и т. д.). Дёшево ничего не делает, пока не взведено.
Радиус в см, в пределах которого автомобиль взводит деревья вокруг себя: ArmMinRadiusCm или расстояние, которое тело проходит за DeltaSeconds (ограниченное 0.1-0.35 с) с запасом 3x, в зависимости от того, что больше. Взведение должно произойти раньше столкновения, так как невзведённое дерево — кинематическая стена.
Свойства
Физическое тело ствола и прокси коллизии.
- Категория
- Crushform|Tree
- Категория
- Crushform|Tree
Джоинт, который держит ствол в мире, пока дерево взведено.
- Категория
- Crushform|Tree
- Категория
- Crushform|Tree
Задаётся на авторити, когда дерево поддаётся (срубленный ствол начинает падать или согнутый столб достигает упора); реплицируется.
- По умолчанию
- false
- Категория
- Crushform|Tree
Задаётся на авторити, когда ствол замораживается в статическую геометрию; реплицируется.
- По умолчанию
- false
- Категория
- Crushform|Tree
События
Каждое событие срабатывает на каждом инстансе по тому, что видит сам этот инстанс, и не доставляется игроку, который подключился позже.
- Категория
- Crushform|Tree
Нативный аналог OnHit.
- Категория
- Crushform|Tree
Нативный аналог OnYielded.
- Категория
- Crushform|Tree
Нативный аналог OnLanded.
- Категория
- Crushform|Tree
Нативный аналог OnSettled.
- Категория
- Crushform|Tree
Нативный аналог OnRespawned.
- Категория
- Crushform|Tree
Нативный аналог OnYieldRolledBack.