Примітки до випуску¶
🇬🇧 English | 🇺🇦 Українська
Коротко про кожен випуск: що з'явилося, що виправлено, на що звернути увагу під час оновлення. Найновіший випуск — угорі.
7.0.0 — Unreal Engine 5.8¶
Перейменування плагіна¶
- Плагін перейменовано з «SplineCraft PRO» на «SplineCraft».
- Зворотну сумісність збережено. Не змінилися: назва модуля (
SplineCraft), API-макрос (SPLINECRAFT_API), точка монтування контенту (/SplineCraft/...), шляхи до класів (/Script/SplineCraft.*), розкладка властивостей і структур (FSC*). Наявні рівні, Blueprint-нащадкиASplineCraftActorта посилання на ассети продовжують працювати без змін. - Змінилися лише назва теки плагіна (
SplineCraftPRO→SplineCraft) та відображувана назва (FriendlyName). - Ассет
BP_SplineCraft_PROнавмисно не перейменовано, щоб не зламати посилання у проєктах.
Підтримка рушія¶
- Плагін оновлено під Unreal Engine 5.8.
Нове¶
-
Root Mobility. Нова властивість на акторі, поряд із Mobility. Задає mobility власного кореня сплайна актора, окремо від згенерованих мешів. Типово
Static— старі сцени без змін. ЗадайтеMovable, щоб причепити компонент руху (напр. Rotating Movement) або рухати / обертати всю структуру в runtime; задайтеMovableі для Mobility, щоб меші рухалися (згенерований меш тепер автоматично підвищується, щоб ніколи не бути статичнішим за корінь — інакше прикріплення переривається). -
Build Scenario — поетапна стройка. Новий ассет SplineCraft Build Scenario: упорядкований список кроків, кожен крок — існуючий пресет + затримка + зсув + режим появи (Instant / Rise From Below / Scale Up / Material Progress). Актор із призначеним сценарієм стає «директором»: за кнопкою
Play Build Scenarioспавнить дочірні SplineCraft-актори по одному вздовж свого сплайна, кожен зі своїм зсувом — так один пресет, піднятий по Z, дає поверхи будівлі.Reverse— та сама послідовність на розбирання. У редакторі — повзунок Preview Progress (0→1) без таймерів. Повністю аддитивно: без призначеного сценарію поведінка актора не змінюється. -
Тека
Content/Samplesз прикладами. У плагіні з'явилася нова тека з готовими ассетами: пресетDA_Preset_IronFence, набірDA_Preset_Tower_*і сценарійDA_Scenario_GrowingTower(шестигранна вежа, що росте знизу вгору). Застосовуйте їх як є через Apply Preset / Build Scenario або беріть за основу власних стилів. -
Пресети стилів. Новий тип ассету SplineCraft Preset зберігає цілу настройку структури: режим, Posts, Tubes, Sections, Knobs, Free Knobs, Polygons, колізію, сид і Mobility. У актора з'явилося поле Preset і кнопки Apply Preset та Save To Preset. Дозволяє зібрати бібліотеку стилів і переносити їх між рівнями та проєктами. Пресет навмисно не торкається форми сплайна, інструментів розкладки, Spline Close Loop, проємів і Design Notes. Готові приклади — у
Content/Samples. -
Проєми (Openings) — ворота, хвіртки, проходи. Нова секція OPENINGS: список проємів, кожен задається початком і шириною в сантиметрах уздовж сплайна плюс галочками, яких елементів він торкається (Posts / Knobs / Sections / Tubes). Точки прибираються, якщо потрапляють строго всередину проєму; секції та труби — якщо перетинаються з ним. Елемент рівно на межі лишається, тому стовпи по краях воріт зберігаються. Працює в Line і Curve. У редакторі кожен проєм підсвічується оранжевою рамкою у в'юпортi (вимикач Show Openings In Viewport; у грі не малюється). За замовчуванням список порожній — наявні сцени не змінюються.
-
Random Seed — відтворювана рандомізація. У секції Randomization з'явилися прапорець Use Random Seed та поле Random Seed: з одним сидом структура збирається ідентично щоразу, а два однаково налаштовані актори виглядають однаково. Кнопка Randomize Seed підбирає новий варіант. Сид покриває все: масштаб, відступи, зсув, повороти, Flip і вибір випадкового меша. За замовчуванням прапорець вимкнено — наявні сцени поводяться як раніше.
-
Налаштування колізії. Нова секція Collision: профіль колізії, генерація hit- та overlap-подій, окрема галка на побудову колізії у полігонів. Налаштування застосовуються до всіх генерованих компонентів однаково — інстансних мешів, сплайн-мешів і полігонів. До цього налаштувати колізію було неможливо: у сплайн-мешів вона була жорстко прошита як Query Only, а в інстансних мешів лишалася рушійною за замовчуванням. Разом із цим уперше запрацювали події зіткнень
OnSplineCraft{Section,Tube,Post,Knob}HitEvent— їх вмикає галка Generate Hit Events (потрібен профіль із фізичною колізією, наприкладBlockAll). Вмикається прапорцем Override Collision; поки він вимкнений — поведінка попередня. -
Лічильник компонентів у Details. Нова секція Stats (лише для читання) показує, у що обійшлася остання збірка: скільки інстансних компонентів, скільки всього інстансів, скільки сплайн-мешів (у режимі Curve їхнє число росте швидко) і скільки процедурних мешів у полігонів.
-
Чотири нові інструменти розкладки точок. До наявних Ellipse, Rectangle, Line, Sinusoid, Uniform і Bind To Surface додано:
- Arc — частина еліпса: задаються кут початку та розмах;
- Regular Polygon — замкнений правильний многокутник із рівними сторонами; кут старту повертає фігуру на місці, галка Sharp Corners тримає ребра прямими;
- Spiral — спіраль, а з висотою — гвинтова лінія: діаметр змінюється від початку до кінця, число обертів дробове;
- Zigzag — точки по черзі відходять убік від осі X, вбік або по вертикалі.
В Arc і Spiral точки за замовчуванням розставляються рівномірно по довжині кривої (галка Even Spacing). Панель Utils стала чистішою: видно лише опції обраного інструмента, а у випадному списку з'явилися підказки.
-
Catenary — провисаюча цепь. Ще один інструмент розкладки: крива, яку приймає вільно висяча цепь. Задаються проліт і глибина провисання, кінці лишаються на рівні актора, середина йде вниз рівно на задану величину. Від'ємне провисання перевертає криву вгору — виходить арка (форма справжнього арочного моста). Точки за замовчуванням розставляються рівномірно по довжині кривої.
-
Follow Spline — розкладка вздовж чужого сплайна. Новий інструмент: указуєте інший актор зі
SplineComponent(дорога, річка, край обриву, готовий шлях) — і точки копіюються з нього, так що паркан/перила йдуть рівно вздовж. Lateral Offset уводить їх на задану відстань убік, лишаючись строго паралельними на поворотах. Reverse Direction розвертає обхід, Match Reference Height — брати висоту з референса чи тримати все на рівні актора. Тип кожної точки та замкненість переносяться з референса. -
Полігони по кривій. У полігона з'явилася галка Follow Curve: раніше грань йшла прямою хордою від однієї точки сплайна до іншої, тож вигнутий сплайн давав многокутник з прямими сторонами. Тепер контур сэмплюється вздовж самої кривої. Крок задається полем Curve Resolution (см). За замовчуванням вимкнено — наявні полігони не змінюються.
-
Полігони довільної форми. Крышки полігона будувалися тріангуляцією віялом, тому коректно замикалися лише опуклі контури — на вогнутому (L-подібному, зіркоподібному, гребінка) крышка сама себе перекривала. Тепер використовується відсікання вух: підтримується будь-який несамоперетинний контур, у будь-який бік обходу і з колінеарними точками. Самоперетинний контур відкочується на попереднє віяло.
Виправлені помилки¶
- Інструмент розкладки Rectangle — рівномірна відстань. Точки тепер розподіляються вздовж ребер пропорційно їхній довжині, тож відстань між ними максимально рівномірна по всьому периметру неквадратного прямокутника (раніше кожне ребро отримувало однакову кількість точок незалежно від довжини). З Bevel > 0 інструмент більше не віднімає 4 від кількості точок на кожній перебудові — прямокутник із фаскою раніше втрачав точки й «схлопувався», поки ви його налаштовували.
-
Merge to Static Mesh тепер запікає й геометрію активного прев'ю Build Scenario (дочірніх акторів кроків) — структуру, спроєктовану як сценарій зростання, можна злити в один меш, попередньо прокрутивши Preview Progress. Коли запікати справді нічого, дія повідомляє про це, а не тихо нічого не робить.
-
Merge to Static Mesh втрачав полігони. Злиття збирало лише компоненти-статик-меші (стовпи, секції, труби, вузли), а полігони — це процедурний меш іншого типу, який фільтр відкидав. Тепер кожен полігон перед злиттям запікається у тимчасовий статичний меш і бере участь в об'єднанні нарівні з рештою.
-
Інструменти розкладки затирали ручні правки точок. Обраний інструмент перебудовував сплайн при будь-якій зміні актора, зокрема коли точку тягнуть мишею, тож правка зникала прямо під курсором. Тепер інструмент спрацьовує лише коли змінюються його власні налаштування. Кнопка Apply Point Layout розкладає точки заново, коли це потрібно.
-
Bind To Surface промахувався повз землю. Кінець трасувального променя збирався відніманням власних X та Y точки, через що промінь ішов не вниз, а навскіс до початку координат: чим далі конструкція від нуля світу, тим сильніший промах. Тепер промінь іде строго вертикально, а дальність пошуку вгору й униз задається окремими полями.
-
Bind To Surface: «Vertical Points» розвертав точки не туди. Тангенс підмінявся константою «вперед», тому всі точки дивилися вздовж локальної осі X незалежно від того, куди йшов сплайн. Тепер тангенс лише вкладається горизонтально, зберігаючи напрямок і довжину.
-
Горизонтальний зсув (Shift) на поворотах. Зсунутий ряд не лишався строго паралельним вихідному: кути затягувало всередину й перекошувало в бік довшого сегмента. Тепер зсув будується як паралельний контур (митра). Стосується Posts, Knobs, Sections, Tubes, Polygons у режимі Line; на прямих ділянках без змін.
-
Полігони: неправильне освітлення й сміття в геометрії. Масив нормалей був удвічі довшим за масив вершин, тому рушій його цілком відкидав і присвоював усім вершинам нормаль «вгору» — бокові стінки світилися як горизонтальні. Додатково кожна стінка додавалася чотири рази, що давало z-fighting. Геометрію переписано: у крышок і стінок тепер свої вершини й нормалі, додано тангенти, розгортка стінок іде вздовж периметра й по висоті. Напрямок обходу визначається за знаком площі, тож полігон за годинниковою стрілкою більше не вивертається навиворіт.
-
Полігони брали чужу карту індексів точок. Полігони обходять усі точки сплайна, але використовували набір активних індексів, що лишився від останньої Section/Tube — частина точок схлопувалася. Тепер полігон будує власну карту індексів.
-
Замкнений сплайн: перша точка не вважалася кутом. На стику петлі зсув рахувався як для кінця незамкненого сплайна.
-
Hit-події не спрацьовували для Tube / Post / Knob у режимі Line. У прив'язці подій зіткнення для Instanced-Static-Mesh-компонентів був некоректний вказівник на метод, тож делегати
OnSplineCraftTubeHitEvent,OnSplineCraftPostHitEvent,OnSplineCraftKnobHitEventне прив'язувалися. Виправлено. -
FSCPolygon::Materialне мав ініціалізатора, через що на UE 5.8 виникала помилка валідації при запуску. Додано= nullptr.