я навожусь на них они должны с разницей во времени увеличиться. Сейчас работает один объект, увеличение происходит через интерполяцию в тике в БП самого объекта. Но делей в тике не работает. Что я должен использовать вместо тика, или как мне иначе задать разницу во времени между увеличением объектов друг за другом? Только таймлайн или есть еще варианты?
ну всегда есть Lerp и world delta seconds
попробуй поюзать не сет AddRelativeLocaton
Здесь разные способы есть. Понятнее и элегантнее всего будет инкапсулировать логику изменения масштаба непосредственно в компоненте или акторе (если у тебя каждый объект - это актор). Если это кажется переусложнённым, то есть другие способы. Если хочешь через лерп, то тебе надо 3 пути выполнения - отдельно для каждого цилиндра. Но каждый из них должен открываться (gate/branch) только после какой-то задержки через Delay или таймер. Скорее всего это можно будет обернуть в макрос. Что ещё приходил в голову - делаешь переменную-аккумулятор (float), которая каждый тик увеличивает своё значение. Это такой, своего рода фактор времени. На основе этой переменной каждый объект увеличивает свой масштаб. При этом для второго, третьего и последующего объекта этот фактор берётся за вычетом значения-задержки, чтобы до определённого времени для них он был равен нулю. Т.е. Может быть что-то примерно такое: Time += DeltaTime float ScaleA = Lerp (Min, Max, Clamp (Time, 0, 1)) float ScaleB = Lerp (Min, Max, Clamp (Time - 0.5, 0, 1)) float ScaleC = Lerp (Min, Max, Clamp (Time - 1, 0, 1)) Это псевдокод, в нём объекты будут увеличиваться каждый ровно одну секунду, интервал между стартами составит 0,5 сек
Обсуждают сегодня