Muchos de los primeros juegos en 3D tenían el problema de que estarías trotando alegremente y de repente todo era negro, con una isla de lo que parecía la cáscara de la fachada hueca de la escena por la que estabas caminando elevándose en la distancia. Porque te habías caído del mundo. Recuerdo que este era un problema particular y de larga data para Bethesda Softworks, aunque ciertamente no estaban solos. Ha pasado un tiempo desde que lo vi en la naturaleza, por lo que parece que lo hemos superado. Mi pregunta es de dos partes:
1) ¿Cuál fue la causa o causas de esto? (Supongo que tiene que ver con costuras relacionadas con precisión de punto flotante entre polígonos, que interactúan con la posición del personaje modelado en puntos, es decir, el fragmento de piso A termina en la posición 1.0, el fragmento de piso B comienza en la posición 0.9998 y por un microsegundo su posición es 0.99992, y boom, caes por el mundo. Pero eso es solo una suposición.)
2) ¿Cómo se solucionó?
fuente
Respuestas:
"Grietas" en la geometría en su mayoría. Estos juegos tienen algunas cosas en común, tienen gravedad y tienen detección de colisión.
Estas anomalías son ubicaciones donde la detección de colisión falló de alguna manera. Podría haber sido bordes afilados, huecos u otras anomalías geométricas. Incluso podría haber problemas con los pasos de tiempo en el motor de física, donde las actualizaciones desaparecieron y se permitió que el personaje cayera a través de una geometría perfectamente buena.
Esto es común cuando el jugador hace algo que los diseñadores de nivel no esperaban. Saltar a un lugar donde se supone que no deberían estar, o de alguna manera sobrevivir a una caída que no debían. O, cuando el jugador usa funciones en el juego como teletransportarse o volar para llegar a lugares que los diseñadores de niveles no creían que los jugadores pudieran alcanzar. Tan recientemente como Skyrim ( video: caerse del mundo a las 11:25 , sugiero silenciar el audio ...).
Cuando falla la detección de colisión, no hay nada que alejar de la gravedad, por lo que se cae. Es como caminar por un acantilado.
No es realmente "arreglado". Existen técnicas para evitar esto, pero en su mayoría solo son mejores herramientas y herramientas de creación de geometría para el paisaje, por lo que estas anomalías no se introducen.
fuente
Creo que no es posible decir que hay una razón particular por la que ocurre el recorte del mundo. Debido a las diferencias en los motores de juego / procedimientos físicos entre juegos, cualquier cantidad de razones puede llevar a esto.
Como resultado de esto, estoy bastante seguro de que no necesariamente se ha eliminado la caída del mundo.
Tener algunos motores de juego a gran escala (Unreal, CryEngine, etc.) puede conducir a problemas menos imprevistos debido al hecho de que dichos motores se están trabajando constantemente. Sin embargo, no hay nada que impida que un desarrollador agregue características / cambios interesantes al entorno que pueden permitir que se produzca un recorte del mundo incluso en el motor de juego más trabajado.
EDITAR: 1. Hasta donde yo sé, las causas subyacentes de esto tienen que ver con el hecho de que los motores de juego que permiten que esto suceda tienen un método limitado para detectar si un jugador se está moviendo incorrectamente. Los motores de juegos anteriores probablemente tenían más problemas con esto porque el plano de tierra era con frecuencia solo eso: un avión. Si un jugador estuviera en dicho avión, no se caería. Si, por alguna razón, su ubicación vertical bajara un poco, entonces se caería para siempre. Más o menos lo que estás diciendo con respecto a los cálculos de coma flotante. Como los motores podrían permitirse ser más robustos y verificar si un jugador estaba en una REGIÓN entera que estaba fuera de los límites, sería menos probable que se activara el error.
fuente
Supongo que los motores más antiguos probablemente usaron una prueba rápida y simple de rayos contra triángulos para detectar una colisión con la geometría. Eso significa que incluso la brecha más pequeña (o un error de precisión en los cálculos) podría dejar pasar al jugador ocasionalmente.
Los juegos más modernos probablemente usarán una prueba más costosa con una esfera o cápsula que represente al jugador, y eso simplemente no se ajustará a través de pequeños huecos. Muchos juegos modernos también usarán middleware de física bien probado para el propósito en lugar de escribir sus propias pruebas.
Definitivamente, en algunos casos también se puede culpar a un gran paso de tiempo en la actualización de la física. Me parece recordar que al menos en uno de los juegos Elite puedes volar a través de un planeta en algunos casos por eso. Esto se puede solucionar mediante el uso de detección de colisión continua que también cuesta tiempo de CPU adicional.
fuente