Поведінка - rts

Поведінка - rts

Це поведінка забезпечує знаходження шляху об'єктом і широко використовується для розрахунку маршрутів навколо перешкод в будь-яких іграх, навіть не пов'язаних з RTS. Дії цієї поведінки можуть задати юниту мета, до якої треба рухатися, або серію точок, до яких він буде рухатися по черзі. Приклад використання можна знайти в RTS basics.

Max speed (максимальна швидкість) - максимальна швидкість, яку може досягти об'єкт, в пікселях в секунду.

Blocked speed (блокована швидкість) - максимальна швидкість, коли об'єкт закінчує переезжаніе іншого об'єкта, або коли він повертається по колу, щоб досягти своєї мети. Ця швидкість повинна дорівнювати приблизно 1/3 максимальної швидкості.

Acceleration (прискорення) - прискорення в пікселях в секунду в секунду.

Deceleration (уповільнення) - уповільнення в пікселях в секунду в секунду.

Rotate speed (швидкість повороту) - максимальна швидкість, з якою об'єкт повертається, в градусах в секунду.

Якщо вона маленька, то об'єкт буде часто сповільнюватися до Blocked speed (блокованої швидкості), щоб досягти повороту.

Rotate object (поворот об'єкта) - якщо включено, то кут об'єкта буде змінюватися відповідно до кута руху.

Path finding (знаходження шляху):

  • Off (вимкнути) - буде рухатися прямо до мети.
  • Around 'Solid' (навколо твердих об'єктів) - коли рухається до мети, буде об'їжджати об'єкти з атрибутом Solid.
  • Custom (настроюється) - використовуйте дію Add path finding obstacle (додати перешкоду). щоб визначити, навколо яких об'єктів потрібно об'їжджати. Ви можете додати окремий атрибут або сім'ю.

Cell size (розмір комірки) - зачіпає знаходження шляху, якщо включена. Алгоритм знаходження шляху ділить рівень на сітку і позначає кожну клітинку як прохідну або непрохідну. Вибирайте розмір осередку розміром приблизно з сам об'єкт з цим поведінкою. За замовчуванням - 60х60. Не забувайте, що чим менше розмір осередку, тим більше навантажується CPU під час знаходження шляху.

Використання CPU

Дії Move to. (Рухатися до ...) негайно запускають алгоритм знаходження шляху, щоб визначити весь шлях до точки призначення. Виклик цієї дії ще раз скине збудований шлях і повністю згенерує новий, що вимагає часу і навантажує CPU. Ви повинні уникати частого виклику цих дій, якщо ваша мета не рухається, особливо якщо ви використовуєте багато об'єктів.
Загалом, якщо вам не вистачає одного дії «рухатися до мети», оновлюйте шлях хоча б кожну секунду.

Уникнення інших юнітів

Використовуйте дію Set object to avoid (встановити об'єкт, який потрібно уникати) і виберіть атрибут, сім'ю або такий же об'єкт, щоб задати, що юніти, коли рухаються, повинні переміщатися навколо один одного так само, як і навколо перешкод.

знаходження шляху

Знаходження шляху в поведінці RTS - модифіковане створення A *. Це означає, що юніти за сценою рухаються по сітці і переміщаються між точками (waypoints) на цій сітці. Осередки сітки можуть бути повністю заблоковані або відкриті. Тобто, вузькі проходи можуть помітити як непрохідні, навіть якщо юніт може через них пройти, тільки тому, що осередки трохи заїжджають на перешкоду. Не забувайте про це, коли робите дизайн рівнів.
Вам потрібно «пограти» з настройками розміру осередків, щоб знайти ідеальний варіант.

Схожі статті