Помощ за бойна система(C# for Unity)

 Здравейте, имам нужда от помощ и знам че въпроса ми не е 100% по темата но това е най – близката графа до проблема ми. Бойната система на играта ми е ходова и работи по следният идеологичен принцип:

  • Щом играча навлезе във дадена зона около обет със тага „противник“ се инициализира скрипт „боен режим“.
  • Една невидима сфера, прикачена към играча като дете която има като роля да пусне Ray cast и да направи боен терен (и минимап в бъдеще).
  • Този боен терен трябва да ограничава пространството в което участниците в битката могат да се движат, като се генерира от терена около участниците, не от предварително зададена големина или форма и да  има очертания на местата където свършва.

 

Въпросът ми е как да направя това ограничение да се генерира от терена, вместо от предварително зададени параметри, за да може бойните полета да вървят по енвиромента и да  има очертания на местата където свършва.  Съвети за оптимизация също ще са полезни.

 

Малко повече интроспекция какво става след това, която може да е полезна:

 

  • Щом терена се определи скрипта „боен режим“ изключва свободното движение на играча и противниците и вика уникални UI елементи използвани за битката, някои лични за всеки участник а други общи.
  • Битките са разделени на рундове по 45 секунди, като кога ще дойде твоят ред се определя от инициативата ти (с висока инициатива можеш да имаш няколко хода в един рунд) и щом дойде твоят ред метъра за рунд спира и те изчаква да свършиш с хода си.
  • Движението става на принципа Click to move, което е ограничено в радиус около всеки участник и големината му зависи от тяхната скорост. // Може би ако накарам сферата да изпича терена по който може да се ходи при инициализиране на битката, вместо да е предварително изпечен ще е по – бързо.
  • За да се свърже дадена атака се използва mesh collision вместо автоматично прихващане.