Skip to content

Примітки до випуску

🇬🇧 English | 🇺🇦 Українська

Коротко про кожен випуск: що з'явилося, що виправлено, на що звернути увагу під час оновлення. Найновіший випуск — угорі.


7.0.0 — Unreal Engine 5.8

Підтримка рушія

  • Плагін оновлено під Unreal Engine 5.8.
  • Сумісність runtime-даних збережено. Наявні рівні й Blueprint-нащадки ASplineCraftFlowActor завантажуються з тією самою формою сплайна та конфігурацією генерації. Одноразові editor-команди навмисно прибрано зі схеми актора й перенесено до SplineCraftFlowEditor; подробиці — у секції оновлення нижче.

Нове

  • SplineCraft Flow Preset — повторно використовуваний Core Data Asset зі стилем генерації: Mode, Static Meshes, Actors, Mobility та advanced-поведінкою масштабу й орієнтації. У Details можна створити один унікальний P_<ActorName> на кожен виділений актор, застосувати призначені пресети пакетно або безпечно оновити спільний ассет з підтвердженням. Форма сплайна та Loop не змінюються. Див. розділ 13.
  • SplineCraft Flow Tools — єдина editor-панель для пресетів, копіювання/вирівнювання сплайна, рівномірного перерозподілу точок і Merge. Reference spline вибирається на рівні точного компонента, усі команди підтримують Undo, а безпечні операції — пакетний вибір акторів.
  • Конструкція масштабується разом з актором. Нова властивість Scale Structure With Actor (увімкнена за замовчуванням): масштаб актора масштабує всю конструкцію, не змінюючи кількості й кроку елементів. Раніше при масштабі актора уздовж сплайна з'являлося більше мешів, і вони перекривалися (у режимі Curve — сплющувалися). Акторам зі сцен, збережених до 7.0, властивість вимикається автоматично, тож старі рівні не змінюються. Див. розділ 09.
  • Copy Spline From Actor — нова Blueprint-функція: копіює сплайн іншого актора без діалогів, зокрема в runtime.
  • Build Elements Along Spline тепер можна викликати з будь-якого Blueprint (раніше — лише з Blueprint-нащадків актора).
  • Spline Geometry Edit Mode замінив Placement Strategy. Новий режим редактора зі стеком модифікаторів (Line, Ellipse, Rectangle, Regular Polygon, Spiral, Lemniscate, Road, Tilt, Distribute Evenly, Bind To Surface, Vertical Loop, Loop Track, Insert Loops, Roller Coaster) — єдиний спосіб розставити точки на сплайні. На відміну від стратегії, застосованої один раз і забутої, крок у стеку модифікаторів зберігається, переставляється й переглядається — можна повернутися й підправити форму, не будуючи її заново з нуля. Стара система (PlacementStrategyClass, USplineBasic і всі стандартні стратегії — Line, Rectangle, Ellipse, Spiral, Uniform, Torus Knot, Bind To Surface, Change Spline Points Rotation) видалена повністю, разом з відповідними Blueprint-ассетами в Content.
  • Loop Track — готова петля в стилі іграшкової траси: замкнене скруглене прямокутне повернення з до чотирьох незалежних вертикальних петель (по одній на кожну сторону — вхідну, праву, дальню й ліву), кожна зі своїм увімкненням, положенням уздовж сторони, радіусом, боковим розходженням і кількістю точок. Розходження (Divergence) відводить петлю від наземної траси назовні біля основи, тому вона не перетинає сама себе; усі петлі стикуються з наземною частиною без розривів дотичних.
  • Insert Loops — вставляє одну чи кілька вертикальних петель у вже наявний сплайн (масив Loops, у кожної своє положення Position від 0 до 1, радіус, розходження й кількість точок), не чіпаючи форму сплайна поза петлями. Захист від дурня: петлі, що опинилися б ближче вздовж сплайна, ніж сума їхніх радіусів, автоматично розсуваються, а якщо місця не вистачає — пропускаються з попередженням у Output Log.
  • Roller Coaster — готова замкнена траса американських гірок: два прямі відрізки з двома розворотами на 180°, тягова гірка, перший спуск, холми з повітряною ямою, що спадають за Hill Height Decay (з випадковою варіацією висоти за Random Seed), рівна ділянка гальмування назад до станції та нахилені повороти. Кожен стик профілю плавний — нульовий нахил на кожному шві, без ривків.
  • Road будує звивисту дорогу чи трасу з нуля — замкнене коло або довгий відкритий маршрут, що петляє за сумішшю двох гармонік із заданим Random Seed (кількість вигинів і амплітуда — окремі параметри). Замкнена траса опційно може перетинати сама себе («вісімка»); висота на перетині плавно піднімається, щоб два проходи розійшлися — той самий прийом, що й Crossing Gap у Lemniscate. Опційно трасує результат на рельєф місцевості (Snap To Surface), як і раніше.

Покращення

  • Чисте розділення модулів. Runtime-модуль SplineCraftFlow більше не залежить від UnrealEd, Slate, AssetTools, AssetRegistry, ContentBrowser або MeshMergeUtilities. Діалоги, Content Browser, транзакції інструментів і mesh merge живуть у SplineCraftFlowEditor; packaged game отримує лише Core API.
  • Швидша збірка. Інстанси додаються в компоненти одним пакетом; генератор випадкових чисел більше не прокручується заново для кожного сегмента. Результат із тим самим Random Seed не змінився.
  • Менше компонентів. У режимі Line більше не створюється зайвий порожній компонент на кожен запис меша.
  • Undo для Copy Spline Data from another Spline, Merge to Static Mesh (спавн і видалення актора) та вирівнювання сплайна.
  • Merge to Static Mesh повідомляє, якщо зливати нічого.
  • Точніші підказки в панелі Details, виправлені умови блокування полів.
  • Менше повідомлень у лозі під час роботи в редакторі.

Виправлені помилки

  • Зависання редактора при нульовому кроці розміщення: меш нульової довжини, Additional Scale X = 0 у режимі Curve, Spacing, що дорівнює мінус довжині меша, або дуже малий Gap between Pivot Points. Тепер такий запис пропускається з попередженням у лозі.
  • Втрата матеріалів: якщо в Materials було більше елементів, ніж слотів у меша, зайві елементи назавжди видалялися з налаштувань. Тепер вони зберігаються й просто ігноруються.
  • Merge to Static Mesh перезаписував ассети: ассети отримували ім'я SM_SM_<актор>, а повторне злиття того самого актора перезаписувало попередній меш. Тепер ім'я SM_<актор> і завжди унікальне.
  • Перебудова видаляла ваші компоненти: ISM-, Spline Mesh- і Child Actor-компоненти, додані в Blueprint-нащадку або на екземплярі актора, знищувалися. Тепер видаляються лише згенеровані.
  • Ризик пошкодження стану при Undo/Redo: компоненти акторів уздовж сплайна перестворювалися з тим самим ім'ям, і рушій підміняв старий об'єкт «на місці».
  • Меші відривалися від сплайна, якщо компонент сплайна був зміщений або повернутий усередині актора (наприклад, після Copy Spline Data): інстанси режиму Line і актори стояли не на сплайні.
  • Змішування мешів між записами: записи з мешами однакової назви з різних тек або з мешем без матеріалів могли потрапити в один компонент і перезаписати один одному меш і матеріали.
  • Slot Materials не працювали в режимі Line. Тепер працюють в обох режимах.
  • Copy Spline Data втрачав типи точок (Linear, Constant ставали кривими) і не переносив замкненість сплайна.
  • Vertical Align на строго вертикальній ділянці сплайна давав випадковий поворот.
  • Подвійна перебудова після вирівнювання сплайна та зміни New Number of Spline Points.
  • Незареєстровані «сміттєві» компоненти на прихованих ділянках у режимі Curve.
  • Меші в режимі Curve перевертались на вертикальних ділянках сплайна (наприклад, у петлі) — орієнтація бралась зі світового "вгору" і губилась, коли сплайн ішов строго вертикально. Тепер увімкнена за замовчуванням властивість Stable Curve Orientation бере орієнтацію з власного кватерніонного кадру сплайна. Актори, збережені до цієї версії, залишають стару поведінку — вигляд наявних рівнів не змінюється.

На що звернути увагу при оновленні

  • Старі editor-only поля MergeSettings, bReplaceSplineActor, SourceActorWithSpline, AlignToBeginActor, NumberOfSplinePoints і NewNumberOfSplinePoints вилучено з актора. Merge settings і папки тепер є персональними editor-настройками; Replace Source Actor навмисно не запам'ятовується. Copy/Align використовують точний Reference Spline, а перерозподіл — тимчасове поле Even Point Count у SplineCraft Flow Tools. Це не змінює збережені точки чи згенерований вигляд старих акторів.
  • Якщо ви масштабували актор у старій сцені й хочете нову поведінку масштабу — увімкніть Scale Structure With Actor вручну. Актори, створені вже в 7.0 (зокрема заспавнені в runtime), використовують нову поведінку.
  • Якщо ви використовували Slot Materials у режимі Line, вони тепер застосовуються.
  • Placement Strategy замінено на Spline Geometry Edit Mode. Стратегії були лише інструментом розстановки точок на сплайні — одноразова команда в Details, яка розставляла точки й забувалась. Тепер цю роль виконує новий редактор. Клас USplineBasic і стандартні стратегії (Line, Rectangle, Ellipse, Spiral, Uniform, Torus Knot, Bind To Surface, Change Spline Points Rotation) прибрані з плагіна. На вже розставлені точки в існуючих рівнях це не впливає — це звичайні дані сплайна, не посилання на клас стратегії. Якщо десь була написана власна Blueprint-стратегія на основі цих класів, перенесіть її логіку в новий редактор.

Для розробників C++

  • Новий USplineCraftFlowPreset і ASplineCraftFlowActor::ApplyPreset() доступні в Runtime/Blueprint. Низькорівневі CopySplineFromComponent, AlignSplineEndToStart і RedistributeSplinePoints не показують UI; Editor-модуль обгортає їх у batch-транзакції.
  • Властивості-вказівники переведено на TObjectPtr. Код, що читає StaticMesh, Material, SplineComponent тощо, продовжує компілюватися; присвоєння TArray<UMaterialInterface*> у Materials треба замінити на TArray<TObjectPtr<UMaterialInterface>>.
  • CoreUObject і Engine стали публічними залежностями модуля SplineCraftFlow.