Hay buenas respuestas aquí. Tuve que resolverlo por mí mismo en el proyecto en el que estoy, pero llegué a las mismas conclusiones que los chicos de Sucker Punch (y pensé que se me ocurrió algo nuevo. Baww :().
Me resulta útil considerar su "panorama" de 360x180 grados en primera persona como un "campo de aceleración". Todos los objetivos válidos crean pozos de gravedad que doblan la entrada del jugador (solo sutileza) de tal manera que el movimiento macro (girar hacia los objetivos) se siente como si fuera un camino "engrasado". Sin embargo, esto no afecta el punto de mira todo el tiempo, solo cuando el delta de turno del jugador apunta con la pendiente del pozo (por así decirlo). Sin embargo, eso es realmente clave: solo estás dando esta velocidad de giro adicional cuando el jugador gira aproximadamente hacia un objetivo. Esa es la única inferencia que puedes hacer de la entrada del jugador.
Mucho más, y obtienes demasiado de un notable "efecto ouija". Desea exactamente lo contrario de ouija: cuando un tablero de ouija se mueve sin inteligencia debido a un usuario, sin su conocimiento consciente, desea que la mira de un jugador se mueva de manera inteligente sin que el usuario se dé cuenta de que NO es solo su entrada. Realmente es un truco de magia.
Usa el producto de punto del delta de giro / guiñada del jugador contra el delta de cabeceo / guiñada desde el punto de mira a cada objetivo. Sujete el valor entre 0 y la velocidad máxima (de modo que ignore la entrada mientras se aleja del objetivo), luego use una función de distancia como modificador de caída.
Descubrí que aumentar esta bonificación de "macro movimiento" cuando el punto de mira frente al delta angular del objetivo es grande (es decir, cuando un enemigo está detrás de ti) realmente ayuda con el clásico problema del controlador de consola de no poder girar lo suficientemente rápido. En términos de "opciones de objetivo", si estás siendo atacado por detrás y no hay objetivos delante de ti, ese panorama que tienes delante es "espacio muerto", y también podrías darle al jugador la capacidad de volar a través de él. a gran velocidad con su cursor. Y si hay objetivos por delante, bueno, probablemente sean más importantes en la mente del jugador y, debido al objetivo de amortiguación / pegajoso, no se ven afectados indebidamente por la débil fuerza macro.
No es necesario que disminuyas la sensibilidad cuando el jugador intenta alejarse
de un objeto (esto dará como resultado la sensación de intentar "escapar" de la órbita de un objetivo). La amortiguación se usa más para apuntar con precisión, y también para evitar que los jugadores sobrepasen el objetivo al pasar de la macro a la micro precisión. hacer mucho trabajo para ellos.
El objetivo fijo es un compensador de movimiento relativo. Observe la diferencia entre el ángulo de su objetivo (desde la cámara, no desde el origen de la entidad), este cuadro y el último cuadro. Vea qué tan cerca está apuntando al objetivo. Para evitar el efecto ouija cuando no hay entrada del usuario, verifique la desviación de ambas palancas: vea si se ha movido físicamente (actuación de la palanca izquierda) O si hay un objetivo activo "con" la dirección del objetivo. Agregue el paso delta guiñada / cabeceo * proximidad al objetivo * Máx. (Movimiento.longitud, objetivo.longitud) para un objetivo pegajoso rudimentario.
Cuando entra el tema de la confusión del objetivo (es decir, un objetivo se desvía por su vista mientras apuntaba a algo detrás, "robando" su enfoque), simplemente haga un seguimiento de sus objetivos y "caliente" uno solo mientras está siendo activamente dirigido a. Luego, multiplique los componentes de amortiguación y adherencia por este parámetro de calor para que los objetivos no calentados sean ignorados. Si el jugador QUIERE la ayuda sobre ese otro objetivo, apuntará manualmente hacia él, y muy rápidamente, se convierte en el objetivo más destacado mientras se olvida el anterior.
También creamos objetivos de asistencia de puntería "fantasma" para ayudarlo a alejarse de cosas poco interesantes (es decir, de cara a la pared; no es necesario pasar el rato mirando una superficie en blanco de cerca si no es útil interactivamente), pero probablemente sea más de lo que puedo hablar acerca de: puede aplicar estas cosas a cualquier cosa que sea interesante para el jugador, ya sea barriles explosivos, objetos interactivos (bioshock utiliza amortiguación al apuntar sobre objetos interactivos a corta distancia ... pero no apunta con ellos, No creo) Una vez que te das cuenta de que todo esto es solo para complementar el concepto central de apuntar, te das cuenta de que no se trata solo de apuntar disparos, sino de una mejora general de la capacidad de uso que alimenta cualquier mecánica que dependa de apuntar. Y en un FPS, realmente,
Lo importante con todo esto es sintonizar. Toma mucho tiempo acertar y lidiar con la interferencia del objetivo, y los problemas con los objetivos están tan cerca que sus "zonas de objetivo" inundan el panorama del jugador, reduciendo la velocidad de rotación de 60 grados.
Oh hombre, debería irme a la cama. Lo siento si algunas de las matemáticas no están claras. Es muy tarde, pero estaba emocionado de leer esta publicación.