Що спричинило “випадання світу” і що це виправило?


15

У багатьох ранніх 3D-ігор виникла проблема, коли ви весело блукали разом, і раптом усе почернело, острів, який був схожий на порожню фасадну оболонку сцени, через яку ви проходили, піднімаючись на відстань вище. Бо ти випав із світу. Я пам’ятаю, що це було особливою і давньою проблемою для Bethesda Softworks, хоча вони, звичайно, не були одні. Минув час, як я його бачив у дикій природі, тому, здається, ми його пройшли. Моє запитання складається з двох частин:

1) Що було причиною цього чи причиною цього? (Я гадаю, що це стосується швів, пов'язаних з плаваючою точкою між полігонами, взаємодіючих з точково модельованим символьним положенням, тобто шматок підлоги A закінчується в положенні 1.0, шматочок B підлоги починається з положення 0.9998, а для мікросекунди ваше положення - 0.99992, і бум, ти пропадаєш через світ. Але це лише здогад.)

2) Як це зафіксували?


Morrowind. Vivec. Спогади ...
Тобіас Кіенцлер

3
Якщо говорити про Бетесду та провалитися через підлогу, ось нещасний НПК у skyrim .
Кріс

Завжди змушує задуматися про Skate 3 .
користувач1118321

Відповіді:


14

"Тріщини" в геометрії здебільшого. У цих іграх є декілька спільних речей, вони мають гравітацію і вони виявляють зіткнення.

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

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

Коли виявлення зіткнення не вдається, нічого не можна відштовхувати від сили тяжіння, тому ви падаєте. Так само, як йти зі скелі.

Це насправді не "виправлено". Існують методи, щоб цього уникнути, але в основному це просто кращі інструменти та інструменти створення геометрії для ландшафту, тому ці аномалії не вводяться.


5

Я думаю, що неможливо сказати, що є одна конкретна причина, чому відбувається обрізання світу. Через різницю в ігрових двигунах / фізичних процедурах між іграми, до цього може призвести будь-яка кількість причин.

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

Наявність декількох масштабних ігрових двигунів (Unreal, CryEngine тощо) може призвести до менш небачених проблем через те, що над цими двигунами постійно працює. Однак, ніщо не заважає розробнику додавати функції / цікаві зміни до середовища, що може дозволити світовому відсіченню траплятися навіть у найбільш відпрацьованому ігровому двигуні.

EDIT: 1. Основні причини цього, наскільки я знаю, пов'язані з тим, що ігрові двигуни, які дозволяють це зробити, мають обмежений метод виявлення, чи рухається гравець неправильно. Раніше ігрові двигуни, мабуть, мали з цим більше проблем, тому що наземний літак часто був саме таким - це літак. Якби гравець опинився на зазначеному літаку, він би не зійшов. Якщо з якої-небудь причини його вертикальне розташування трохи опустилося нижче, то він назавжди впаде. Досить багато, що ви говорите, щодо розрахунків з плаваючою комою. Оскільки двигуни можуть дозволити собі бути більш надійними і перевірити, чи гравець перебуває в цілому РЕГІОНІ, який був поза межами, ініціювання помилки було б менш ймовірним.


1
Так, обчислення з плаваючою комою могли легко викликати це, якщо не було достатнього буфера або якщо символ був представлений у вигляді точки. +1
MichaelHouse

5

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.