SM: Повний гайд по ракето будівництву(NO MODS)

Scrap Mechanic5 views14 min readby dima73Updated 5 MarView on Steam ↗

МОДИ ЯКІ ПОТРІБНІ ДЛЯ ПОЛЕГШЕННЯ БУДІВНИЦТВА

Ось одна зі збірок модів з інструментами, де ви можете знайти все необхідне:
https://steamcommunity.com/sharedfiles/filedetails/?id=3304245465&searchtext=tool

Важливий нюанс: якщо ви побудуєте щось за допомогою цих інструментів, ви зможете заспавнити свою творчість навіть у світі друга, у якого немає цієї збірки (за умови, що на самій конструкції не буде специфічних блоків із мода, наприклад, синіх або зелених сенсорів). Самі інструменти (інструмент зварювання, вимірювачі тощо) лише допомагають у процесі, не перетворюючи вашу споруду на «модову».

тепер коротко про ті блоки які нам потрібні:

Зелений сенсор, як зрозуміло з назви, цей сенсор призначений для того, щоб наочно візуалізувати точне розташування центру мас вашої ракети. Це незамінний інструмент, адже без розуміння точки балансу ви не зможете виставити двигуни так, щоб конструкцію не закручувало в повітрі.
Пристрій має два режими відображення, які перемикаються клавішею U. Щоб активувати візуалізацію та побачити центр мас на своїй побудові, достатньо натиснути клавішу взаємодії E. Використовуйте цей інструмент на кожному етапі збірки, щоб контролювати стабільність вашої ракети. Синій сенсор, візуалізує центр тяги (Center of Thrust) вашої конструкції, показуючи сумарний вектор сили всіх установлених двигунів.
Як і у випадку з центром мас, тут доступні два режими відображення, які змінюються клавішею U, а сама візуалізація вмикається натисканням E. Головне завдання цього інструменту — допомогти вам поєднати центр тяги з центром мас. Якщо синя точка тяги не збігається з точкою маси, ракету неминуче почне розвертати або закручувати в штопор прямо під час зльоту. Бінго Блок Едітор (Blueprint Editor) — це, без перебільшення, один із найпотужніших інструментів у арсеналі досвідченого механіка. Його можливості настільки широкі, що для повного розбору всіх функцій знадобився б окремий величезний туторіал. Проте в межах нашого гайда по ракетах ми зосередимося лише на одній, найбільш критичній для нас функції.

Нам цей інструмент потрібен насамперед для того, щоб «глічувати» одні елементи в інші. Це дозволяє розміщувати блоки, логіку або двигуни в одному і тому самому просторі, де за звичайних умов гра б не дозволила цього зробити через обмеження. Завдяки цьому ми можемо створювати неймовірно компактні ракети, ховаючи всю складну начинку всередину вузького корпусу, при цьому зберігаючи повну ванільність побудови(якщо ви граєте в ванільне виживання у вас просто не вийде робити настількі компакні ракети).

він показує локальні кординати конструкції якщо навестись на неї. Якщо клацнути ліву кнопку миші ми побачимо так званий Blueprint тобто файл який зберігає інформациї про конструкцію наприклад коли ми її зберігаємо. Нам досить тількі рухати предмет завдяки нижньої панелькі де написано "Position Control". Взягалі раджу зрозуміти як працює цей інструмент для подяльшої роботи з ним

ЯК ГРА ОБРОБЛЮЄ ФІЗИКУ І НЕ ТІЛЬКІ

Як гра бачить твою конструкцію
Scrap Mechanic сприймає будь-яку ракету як єдине фізичне тіло (Body), що складається з окремих блоків.

Центр мас: Він динамічний. Якщо ти відстрілюєш частину ракети, центр мас миттєво перераховується, що може різко змінити траєкторію(фізика оновлюється кожен тік(40 тіків в 1 секунді), але тікрейт може змінюватись залежно від фпс.

Якщо FPS > 40, тікрейт стабільний — 40.

Якщо 20 < FPS < 40, тікрейт дорівнює значенню FPS.

Якщо FPS < 20, тікрейт фіксується на 20 (гра починає "уповільнюватися").

Завдяки таймеру можна легко рахувати кулькість тіків.

Вплив підшипників: Кожен підшипник це окреме з'єднання, яке створює маленьку кострукцію яка просто стараєця залишитись в межах де вона має перебувати(залежно від фізики та ваги конструкції). Також чим більше підшипників у корпусі, тим сильніше ракету буде «ковбасити» на високих швидкостях і взагалі вони лагають через що ми будем мінімалізувати їх кількість.

тут видно як біла конструкція зміщена вліво відносно камери хоч вона закріплена на підшибнику. Тепер розберемося з реактивним двигуном. Його сила починається з його геометричного центру. Кожен вид двигуна має свою вагу та максимальну силу (далі пропишу характеристики). Також кожен двигун має однаковий розхід палива незалежно від його налаштувань, а саме одну каністру бензину на 5 секунд. Окремо існує так званий "Legacy" - це двигун зі старих версій, який є найлегшим і дає таку ж силу, як двигун 5 рівня, що робить його найкращим. Але наразі не знайдено способу, як отримати його у виживанні, через що його використовують тільки в креативі(знизу посилання на всі необхідні "Legacy" блоки).

Є популярна помилка коли люди роблять ракети та ставлять двигун позаду як тут, через це ракета не може летіти прямо або з часом поченає закручуватись

-------------------------------------------------------------------------------------------------------

Ось та сама ракета, але частина з логікою помінялася місцями з двигуном. Завдяки цьому центр тяги став ближче до центру мас. Повністю ідеально було б, якби вони знаходилися в одній точці, проте вже зараз така ракета здатна стабільно летіти прямо.

Аеродинаміка
Зараз у грі аеродинаміка працює максимально спрощено: кожен тік конструкція втрачає певний відсоток швидкості незалежно від усіх інших параметрів. Згідно з моїми замірами, максимальна швидкість падіння в повітрі становить приблизно 45 м/с. Виходячи з цього, можна шляхом нескладних розрахунків визначити, що конструкція втрачає 0.54% швидкості кожного тіка.

Ця інформація не є критичною для ракет типу НАР (некеровані авіаційні ракети) або керованих ракет, які мало залежать від початкових умов. Проте, якщо мова йде про високоточні ракети, що летять за балістичною траєкторією і наводяться через математичні розрахунки, нехтування цим опором повітря збільшує похибку в 100–200 разів. Це робить таку «математичну» балістичну ракету менш точною, ніж звичайний двигун із бомбою, запущений "на око".

Маховики
Якщо чесно, мені ліньки пояснювати, як працюють маховики, тим паче що більшість ПТКР (ПТКР — протитанкова керована ракета) або інших ракет наводяться просто за віссю, не повертаючи корпус. Але все ж таки у Scrap Mechanic фізика досить непогано обробляє гіроскопічний ефект, завдяки чому його можна спокійно використовувати для стабілізації.

Затримка в логіці
Логіка як і все в грі оновлюється кожен тік через це в складних конструкціях бажано враховувати затримку.
Ось, наприклад, схема з таймером на 0 секунд (і 0 тіків). Здається, що два спудгани вистрілять одночасно, але якщо порахувати, то нижній вистрілить через 3 тіки після натискання кнопки, а верхній — через 4. У результаті ми маємо цілий 1 тік затримки, що для чутливих схем доволі багато.

Існують окремі схеми, що використовують цей ефект, наприклад, «самозварений» гейт. Це логічний блок у режимі XOR, який через файл blueprint підключений сам до себе. Проте його легко зробити і без редагування файлів: достатньо послідовно з'єднати три XOR гейти (вхідний сигнал при цьому треба подавати на всі три одночасно). Такий механізм буде постійно змінювати свій стан (миготіти), якщо подати постійний сигнал, або просто перемикне стан, якщо подати імпульс в 1 тік.

Бомбочки одна в одній(або ядерка):
Якщо взяти одну бомбу і підірвати її, радіус ураження буде невеликим — навіть у випадку з великою вибухівкою. Через це виникла ідея: чому б не засунути кілька бомб одна в одну? У результаті, коли ці бомби ні до чого не закріплені, вони намагаються вийти одна з одної через конфлікт хітбоксів і розлітаються (найчастіше вздовж однієї осі). Тут на фоці видно як спрацьовує одна маленька бомба, а нижче видно як розлітаються 20 маленьких. Таким чином, бомби проходять навіть крізь блоки, що дозволяє їм пробивати «3-й метал», хоча існують способи захиститися і від цього. Різні типи вибухівки працюють по-різному. Наприклад, якщо маленькі бомби не закріплені до міцного блоку, який вони не можуть зруйнувати, то при активації однієї бомби всі інші просто розлетяться в боки.

З великими бомбами ситуація складніша: якщо вони не закріплені, то при детонації однієї інші створять багато візуальних ефектів вибуху, але можуть навіть не пошкодити блок картону поряд. Через це їх потрібно активувати, руйнуючи блок, до якого вони закріплені. У підсумку ми маємо: маленькі бомби — небезпечні та прості, та великі — складні в детонації, але значно ефективніші. Але всі вони багато важуть та їх можна зробити тількі в креативі

ХАРАКТЕРИСТИКИ ТА ТРОШКІ ТЕОРІЇ

Ви часто могли зустрічати класифікацію на кшталт «ракета типу повітря-поверхня» або «поверхня-повітря». Що ж це означає? Все просто: перше слово вказує на місце запуску, а друге — на тип цілі, яку ракета має вразити. Наприклад:

Земля — цілі на землі: танки, бронемашини, укріплення тощо.
Повітря — літаки, гелікоптери або інші ракети.
Вода — надводні цілі, як-от кораблі чи катери.

або іноді кажуть поверхня коли кажуть про землю та воду одночасно
Тобто ракета «повітря-земля» — це ракета, яку запускають із літака по наземній цілі.

Крім класифікації за місцем запуску, ракети ділять за способом польоту та наведення. Ось основні типи, які можна зустріти або створити в Scrap Mechanic:

  1. НАР (Некерована Авіаційна Ракета) — найпростіший тип. Вона не має систем наведення: куди прицілився і вистрілив, туди вона і полетіла. Головна перевага — дешевизна та можливість масового спаму.
  2. ПТУР (Протитанкова Керована Ракета) — ракета, якою гравець може керувати в польоті. У грі це зазвичай реалізується через дистанційне керування або передавачі сигналу, щоб коригувати курс точно в уразливе місце танка.
  3. Лазерна ракета — снаряд, що орієнтується на промінь лазера (який часто створюють за допомогою модів або блоків нульової товщини). Вона намагається триматися на лінії «лазер–ціль».
  4. Балістична ракета — ракета, що летить за заздалегідь розрахованою траєкторією. Вона вмикає двигуни на певний час (за таймером), піднімається вгору або виходить на дугу, а далі за інерцією падає точно в ціль.
  5. Торпеди — фактично, це ті ж самі ракети, але для водяного середовища. В Scrap Mechanic їх можна вважати ракетами, просто вони налаштовані на роботу з плавучістю та іншим типом опору середовища.

ТЕПЕР ХАРАКТЕРИСТИКИ:
Трастер 5-го рівня та Legacy-трастер мають однакову тягу — вони можуть підняти по 256 кг. Проте Legacy-трастер важить лише 6.25 кг, тоді як 5-й рівень — 9.375 кг, що робить Legacy значно ефективнішим для ракет. За міцністю він приблизно відповідає трастеру 3-го рівня, тому легко руйнується при детонації — це навіть плюс, адже на місці вибуху залишається менше «сміття».

Крім того, Legacy-версії сенсора та контролера важать у півтора раза менше за свої сучасні аналоги. Я міг би розписати характеристики кожного предмета, але це займе забагато часу, та й вони залежать від багатьох факторів.

Загалом, якщо ви будуєте в «Креативі», я наполегливо рекомендую використовувати Legacy-предмети. Ось посилання на відповідний пак у майстерні Steam: https://steamcommunity.com/sharedfiles/filedetails/?id=3671547818.

Для режиму «Виживання» (Survival) краще за все використовувати деталі 3-го рівня. Використовувати 5-й рівень доцільно лише для складних ракет із боєголовкою, що відокремлюється — у таких схемах основна частина ракети може залишатися цілою після відпрацювання по цілі, тому дорогі компоненти не будуть втрачені дарма.

ЯК ЗРОБИТИ НОРМАЛЬНУ РАКЕТУ ТИПУ НАР

Перед переглядом цього розділу рекомендую подивитись: "МОДИ ЯКІ ПОТРІБНІ ДЛЯ ПОЛЕГШЕННЯ БУДІВНИЦТВА", "ЯК ГРА ОБРОБЛЮЄ ФІЗИКУ І НЕ ТІЛЬКІ"

Зараз ми будемо дивитись на мою ракету СТРІЛА-2А та СТРІЛА-2Б(потім я розкажу яка в них різниця)
Почнемо з середини ракети бо вона одна з найважливіших:
Для того щоб центр тяги та центр мас збігалися(щоб ракета летіла прямо), двигун (трастер) має бути розташований суворо по центру ракети. У ванільному виживанні, де немає можливості просто «вклеїти» деталі одна в одну, доводиться з'єднувати задню та передню частини ракети в обхід двигуна, що робить ракету більшою. В сам корпус двигуна можна «засунути» логічні блоки, а якщо ракета детонує через сенсор — можна поставити спудгани (картоплемети), оскільки вони мають досить велику вагу, що корисно для балансування носової частини.

На картинца показано приклад як можно з'єднати перед та зад ракети, а знизу моя ракета типу НАР, в неї логіка знаходиться заду, спереду бомба з сенсором(хоч насправді бомба і спереду і заду але зараз це не важливо), а посередині 2 спудгани по діагоналі.

Тепер заряд ракети (для класу повітря-поверхня):
Для ракет класу «повітря-поверхня» спереду зазвичай ставлять вибухівку (малу або велику каністру) залежно від розмірів ракети та її призначення. Велика кількість бомб рідко дає перевагу, хіба що вони заґлічовані одна в одну. Велика бомба має значно більший радіус ураження та пробивну здатність, тому якщо корпус ракети дозволяє (наприклад, 3х3 блоки), рекомендую ставити саме її.

Якщо ми робимо ракету проти наземних цілей, достатньо одного сенсора, який дивиться прямо. Щоб центр мас не зміщувався вбік, по діагоналі від сенсора варто поставити об'єкт із такою самою вагою. Наприклад, у моїй ракеті «СТРІЛА-2Б» (на фото справа) використано один Legacy-сенсор та один логічний блок, оскільки вони мають однакову масу. Майте на увазі: звичайний сенсор не підійде для такої схеми, бо він у 1,5 раза важчий за старий.

Взагалі, спереду більше нічого не потрібно, оскільки ніс ракети — і так найважча частина. Щоб не довелося додавати ззаду «мертвий вантаж» для балансування, намагайтеся розставляти компоненти максимально раціонально.

А що там з противоповітряними ракетами?
Якщо ракета летить просто прямо, влучити точно в об'єкт, що летить, дуже складно.
Для вирішення цієї проблеми використовують або таймер, який підриває ракету із затримкою (щоб вона пошкоджувала ціль радіусом вибуху), або систему сенсорів, спрямованих у різні боки (фото зліва). Також можна додати підшипник із контролером, щоб сенсори оберталися — це дозволяє сканувати більше простору (фото справа) і уникнути зменшити зони.

Логіка ракети
Тепер, коли ми розібралися з класом та начинкою ракети, можна подумати про логіку. Хоча в грі вона доволі низькорівнева та примітивна, з її допомогою можна суттєво покращити характеристики снаряда. Особливо це стосується керованих ракет: логіка дозволяє реалізувати стабілізацію, наведення, покращити систему детонації або навіть використовувати баги для дистанційного керування.

Окрім цього, без логічних блоків складно реалізувати коректний запуск ракети або створити систему з декількох сенсорів, щоб при спрацьовуванні будь-якого з них відбувалася миттєва детонація. Взагалі, логіка — це моя найулюбленіша тема, тому я дуже багато про неї розповім та напишу.

Почнемо зі схеми, яка детектує момент вильоту ракети. Існує багато способів, але, як на мене, найкращий — це активація ракети одразу після її відстикування. Напевно, ви помітили, що в задній частині моєї ракети є темний гейт. Його задача — утримувати ракету в «режимі очікування». Поки цей гейт підключений до пускової установки, передній сенсор та основний двигун вимкнені, щоб ракета не вибухнула завчасно і не заважала літаку чи носію.
На схемі справа принцип простий: поки «чорний» гейт присутній, рожевий гейт AND заблокований. Як тільки зв'язок розривається (ракета від'єднується), через один тік рожевий гейт активується завдяки парі червоних гейтів, які створюють постійний сигнал. Тепер уявімо, що ракета долетіла до цілі й сенсор спрацював, але в нас є лише один спудган. Якщо просто влучити в бомбу картоплиною, вона вибухне із затримкою у 2 секунди. Кожна наступна влучена картоплина забирає 1 секунду часу очікування. Тобто для миттєвого вибуху потрібно або 3 спудгани, або чекати 2 секунди. Останній варіант нам не підходить, бо за цей час ракета може просто отрикошетити та полетіти геть.

Щоб цього уникнути, сенсор підключений до «самозвареного» гейта. Як ви пам’ятаєте, якщо подати на нього постійний сигнал, він почне мерехтіти, видаючи імпульс кожен другий тік. Цей сигнал іде далі до гейта AND, який потрібен для того, щоб детонатор не спрацював завчасно, поки ракета ще знаходиться на пілоні (тобто поки рожевий гейт вимкнений).

Детонація: основні методи
Існує два основних способи підірвати бомбу в Scrap Mechanic:

Контактний (фізичний удар): Якщо ракета летить на великій швидкості, бомба може спрацювати сама від зіткнення з об'єктом. Проте цей спосіб не завжди надійний — іноді снаряд просто розбивається, залишаючи на карті купу нездетонованих бомб.

Дистанційний (через сенсор): Цей метод створює трохи більше навантаження на сервер (лагів), але він значно надійніший. Як тільки сенсор помічає ціль, спрацьовують спудгани, які влучають у бомбу. Навіть якщо через якийсь баг картопля не влучить, можна підстрахуватися таймером самоліквідації. Він підірве ракету за певний час, щоб вона не засмічувала карту.

Саме через це я маю дві версії ракети: одна — для масованого залпу «дешевими» снарядами, інша — для більш дорогого, але гарантованого підриву цілі. Також слід враховувати, що спудгани доволі важкі. Для порівняння: один спудган важить 5.89 кг, тоді як Legacy-трастер — 6.25 кг, а трастер 5-го рівня — 9.375 кг.
Ракета зправа (легша версія) за масою в півтора раза менша за праву. Це означає, що літак зможе взяти на борт у півтора раза більше таких ракет, що значно підвищує вогневу міць у залпі.

У результаті в нас має вийти простенька ракета типу НАР (некерована авіаційна ракета). Для початку раджу спробувати створити варіант «поверхня-поверхня», оскільки він є найпростішим, а вже потім переходити до складніших типів. Головне для таких ракет — мінімальна вага, оскільки найчастіше ними просто «спамлять» по позиціях ворога (хіба що ви використовуєте варіанти із заґлічованими всередину бомбами).

ЯК ЗАПУСКАТИ РАКЕТИ

Повернемося до фотографії, де ракета стоїть просто на опорі («паличці»). Таку ракету можна запускати за допомогою ПКМ (видаленням блоку). Цей тип запуску створює ідеальні умови для розрахунків траєкторії, оскільки ми точно знаємо кути по вертикалі та горизонталі, що критично важливо для балістичних ракет. Якщо ж простір обмежений, можна використовувати поршні, щоб розділяти ракети на різні структури, аби вони не злипалися. Проте варто враховувати, що через тертя та особливості фізичного рушія гри точність при такому запуску трохи втрачається. Золота середина між точністю та компактністю для встановлення на техніку — це коли ракета тримається на одному блоці. При його руйнуванні ракета падає і відразу активується. Якщо ви вирішили розставляти ракети через блоки, краще не робити з них окремі структури за допомогою поршнів чи підшипників. Через специфічну фізику гри в момент пуску таку ракету може трохи «повести», і вона полетить криво.

КІНЕЦЬ

Ось і кінець! Якщо у вас є що додати — пишіть у коментарях. Згодом я планую додати гайди на інші типи ракет, а також на торпеди. Існує ще багато технологій та багів, які використовують для створення військової техніки, тож пишіть, якщо вам цікаво дізнатися про це більше!

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.