В Unreal Engine 4 мы можем использовать инструмент листвы для перемещения отдельных экземпляров листвы. Сначала мы переключаемся в режим листвы, затем выбираем несколько экземпляров листвы и перетаскиваем соответствующие оси виджета.
Я провел небольшое исследование того, как это работает под капотом.
Должен быть соответствующий модуль редактора. Я искал «Foliage» в строке поиска обозревателя решений:
Я хотел найти что-то вроде «перемещение/перетаскивание мышью» в классе, поэтому я прокрутил список методов и нашел это:
Метод приводит меня только к манипуляциям с кистью листвы, что бесполезно.
Поскольку меня волнует только то, как преобразовывать экземпляры, я бегло просмотрел методы и нашел «TransformSelectedInstances»:
он проходит через все InstancedFoliageActors на всех уровнях и находит выбранные экземпляры, затем выполните:
- вызовите «PreMoveInstances» в соответствующем файле FoliageInfo.
- Для каждого выбранного экземпляра примените преобразование.
- вызовите «PostMoveInstances» в FoliageInfo.
Теперь я знаю, как это работает.