Cosa ha causato "cadere fuori dal mondo" e cosa l'ha risolto?


14

Molti dei primi giochi 3D avevano il problema che avresti cavalcato allegramente e all'improvviso tutto era nero, con un'isola di quella che sembrava la conchiglia vuota della scena che avresti attraversato risalendo in lontananza. Perché sei caduto dal mondo. Ricordo che si trattava di un problema particolare e di vecchia data per Bethesda Softworks, anche se certamente non erano soli. È da un po 'che non lo vedo in libertà, quindi sembra che l'abbiamo superato. La mia domanda è in due parti:

1) Qual è stata la causa o le cause di questo? (La mia ipotesi è che abbia a che fare con le giunzioni relative alla precisione in virgola mobile tra i poligoni, interagendo con la posizione del personaggio modellato in punti, ovvero il blocco del pavimento A termina nella posizione 1.0, il blocco del pavimento B inizia nella posizione 0.9998 e per un microsecondo la posizione è 0.99992 e boom, cadi nel mondo. Ma è solo una supposizione.)

2) Come è stato risolto?


Morrowind. Vivec. I ricordi ...
Tobias Kienzler

3
Parlando di Bethesda e cadendo per terra, ecco uno sfortunato NPC in skyrim .
Chris,

Mi fa sempre pensare a Skate 3 .
user1118321,

Risposte:


14

"Crepe" nella geometria per lo più. Questi giochi hanno alcune cose in comune, hanno la gravità e hanno il rilevamento delle collisioni.

Queste anomalie sono posizioni in cui il rilevamento delle collisioni non è riuscito in qualche modo. Potrebbero essere stati spigoli vivi, lacune o una serie di altre anomalie geometriche. Potrebbero anche esserci problemi con i passi del tempo nel motore fisico, in cui gli aggiornamenti si sono desincronizzati e al personaggio è stato permesso di passare attraverso una geometria perfettamente buona.

Questo è comune quando il giocatore fa qualcosa che non era previsto dai progettisti di livelli. Saltare in un posto che non dovrebbero essere, o in qualche modo sopravvivere a una caduta che non avrebbero dovuto. Oppure, quando il giocatore utilizza funzionalità del gioco come il teletrasporto o il volo per raggiungere i luoghi in cui i designer di livello non pensavano che i giocatori potessero arrivare. Recentemente come Skyrim ( video: cadere fuori dal mondo alle 11:25 suggerisco di disattivare l'audio ...).

Quando il rilevamento delle collisioni fallisce, non c'è nulla da respingere dalla gravità, quindi cadi. Proprio come camminare da una scogliera.

Non è davvero "riparato". Esistono tecniche per evitarlo, ma per lo più sono solo strumenti migliori e strumenti di creazione della geometria per il paesaggio, quindi queste anomalie non vengono introdotte.


5

Penso che non sia possibile dire che esiste un motivo particolare per cui si verifica il ritaglio del mondo. A causa delle differenze nei motori di gioco / nelle procedure fisiche tra i giochi, qualsiasi numero di ragioni può portare a questo.

In conclusione, sono abbastanza sicuro che cadere dal mondo non sia stato necessariamente eliminato.

Avere alcuni motori di gioco su larga scala (Unreal, CryEngine, ecc.) Può portare a problemi meno imprevisti a causa del fatto che tali motori vengono costantemente lavorati. Tuttavia, non c'è nulla che impedisca a uno sviluppatore di aggiungere funzionalità / interessanti cambiamenti all'ambiente che possono consentire il taglio del mondo anche nel motore di gioco più elaborato.

EDIT: 1. Le cause sottostanti di ciò, per quanto ne so, hanno a che fare con il fatto che i motori di gioco che consentono che ciò accada hanno un metodo limitato per rilevare se un giocatore si sta muovendo in modo errato. I motori di gioco precedenti probabilmente avevano più problemi con questo perché l'aereo di terra era spesso proprio quello - un aereo. Se un giocatore fosse su detto piano, non scenderebbe. Se, per qualsiasi motivo, la sua posizione verticale scendesse un po 'più in basso, cadrebbe per sempre. Praticamente quello che stai dicendo riguardo ai calcoli in virgola mobile. Dato che i motori potevano permettersi di essere più robusti e verificare se un giocatore era in un'intera REGIONE off-limits, l'attivazione dell'errore sarebbe meno probabile.


1
Sì, i calcoli in virgola mobile potrebbero facilmente causare questo se non ci fosse buffer sufficiente o se il personaggio fosse rappresentato come punto. +1
MichaelHouse

5

La mia ipotesi sarebbe che i motori più vecchi probabilmente utilizzavano un test raggio vs triangolo semplice e veloce per rilevare la collisione con la geometria. Ciò significa che anche il più piccolo spazio (o un errore di precisione nei calcoli) potrebbe far passare il giocatore di tanto in tanto.

I giochi più moderni probabilmente useranno un test più costoso con una sfera o una capsula che rappresenta il giocatore, e che semplicemente non si adatta a piccoli spazi vuoti. Molti giochi moderni useranno anche middleware di fisica ben collaudati allo scopo invece di scrivere i propri test.

Un grosso passo avanti nell'aggiornamento della fisica può sicuramente essere incolpato anche in alcuni casi. Mi sembra di ricordare che in almeno uno dei giochi Elite, in alcuni casi, potresti volare attraverso un pianeta proprio per questo. Ciò è risolvibile utilizzando il rilevamento continuo delle collisioni che costa anche tempo di CPU aggiuntivo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.