Преминаване през стена, сблъсък, видимост на целта, намиране на път, wmo

замисъл:Би било хубаво да започнем да работим с WMO в крайна сметка. WoWDev.org направи проучване на този формат, но проектът вече е временно (или окончателно) мъртъв. Въпреки това успяхме да извлечем информация от кеша на Google според използваните формати.

SLOM:Сега във всеки двигател на играта има такова нещо като твърди тела. Ще обясня с помощта на примера на Cosmos Creator, който е двигателят на 3d светове и игри, базирани на него:

  • Създайте равнина и създайте куб над нея.
  • Създаваме гравитация и натискаме включването на погрешно изчисление, кубът глупаво преминава през равнината.
  • Нашите ботове правят същото.
  • Изберете самолета и включете наземната опция.
  • Изберете куба, включително опцията solid, за да го дефинирате като куб (може също да бъде сфера или мрежа, но сферата ще се държи неправилно и мрежата ще натовари процеса).
  • Включваме го и кубчето пада върху самолета и остава на него!
Ето как работи на официалния сървър. За да може кубът да заобиколи препятствието, можете да изчислите напред, тоест траекторията на падане (движението се изчислява далеч напред) и ако има препятствие, се търси най-краткият обход. Тук има проблеми. Как да определим къде е проходимо и къде не? И това няма ли да натовари сървъра с чести проверки дали има препятствие напред? Това е много по-лесно и бързо да се определи от готови точки.

Демон:И ако е така. Пъхнете в многоъгълни върхове wmo пътни точки. За всяка такава точка, окачете маршрут, като например къде може да стигне тълпа от тази точка (до коя от съседните точки). Проблемът с преминаването на тълпи през стените се решава. Проблемът с падащите тълпи се решава незабавно. Тъй като z координатата може да се разглежда като разликата между z координатите на точките. Пример за такъв провал може да се види в Stormwind, когато напускате града. Има домашен любимец малкоотива под чакъла. Опцията се получава и от вашите и от нашите.

За да опростите, можете да вземете не всеки полигон, но да намалите мрежата на полигона наполовина. Може да даде нещо.

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

Вярно е, че при този подход остава неясно как сървърът издава на клиента, че героят не вижда директно врага и следователно не може да го атакува.

SLOM:Отличен ресурс, намерих го днес _http://xgm.ru/forum/forumdisplay.php?f=47 Програмата ви позволява да редактирате m2 файлове (модели в WoW и техните анимации). И вашият любим wmo Цитат:

.:munche:. :В wmo няма точки, ние (WoWcore) също избирахме данните за m2 и wmo за дълго време. Изчисляването на тези данни ще убие процента диво - 120% Ето броят на m2, който трябва да се изчисли - тези, с които възникват сблъсъци: 73383 M2 на карта 0 100433 M2 на карта 1 Това не взема предвид, че wmo също съдържа m2 обекти Вече мълча за пример, който се състои изцяло от wmo. Тук е възможно само да се изчисли m2 с помощта на силно опростен модел и да се опишат wmo повърхности със система от точки

САБРОГ:Колко клетки има на цялата карта? Колко решетки могат да се поберат в него?

Не е достатъчно само да правите точки, чудовищата са страхотни в определянето на видимостта на целта. Тези. не можеш да удариш чудовище с магия, ако е зад ъгъла на къщата. Да, и тогава всичко това е опростено. Имаме. Така че за нас е достатъчно да изчислим само тези M2, които са в мрежата. Но това не е всичко. Защо да изчисляваме M2, с което не се очаква взаимодействие? Всеки играч имаи чудовището има обхват. И също така имаме траекторията на чудовището, т.е. целева координата. Като начертаем ментален лъч към целта, ние получаваме всички координати от чудовището до играча. Няма да са много, т.к. има линия на видимост, когато чудовището трябва да напусне преследването. И така, след като начертахме лъча към целта, ние търсим обект за всяка от тези координати, който трябва да се намира на това място. Списъкът ще бъде малък, т.к ние вече ще сме заредили предварително само онези обекти, които се отнасят до текущата и последваща мрежа, ако има "преминаване" през границата. Остава само да се извърши подобна операция с определен интервал, за да се коригира посоката на чудовището. Тези. ако текущият указан път до целта е по-къс от току-що изчисления, тогава не правете нищо, ако вече е по-дълъг, тогава преизчислете новия път.

.:munche:. :Не знам размерите на клетките на MaNGOS. Размери при клиента съответно: 64х64 плочки максимум. Колко от тях действително са регистрирани в съответния файл. Размер на плочката 533.3(3).

Друга естествена забележка: m2 на картата може да стои по такъв начин, че да бъде разположен на 4 парчета наведнъж - т.е. на границата, съответно, свързването към решетки, решетки и други квадрати няма да работи без разделяне на m2 на парчета. Или направете прост масив за съхраняване на такава информация с обвързване само към плочка.