¿Cómo manejar RTS Click-And-Move en 3D Space?

10

¿Cómo puedo manejar hacer clic y mover en un espacio 3D completo? Es fácil de manejar en un plano 2D mediante una simple emisión de rayos, pero este no es el caso en 3D ya que no hay un plano final para que una emisión de rayos obtenga un punto final.

Tengo dos ideas en mente:

  1. Realice raycast, luego permita que el jugador seleccione la distancia en el rayo mediante otra entrada (mousewhell, por ejemplo).
  2. En lugar de completar 3D, tenga múltiples "capas de altura", para que el jugador pueda cambiar la capa de altura antes de ordenar el movimiento.

¿Cuáles son tus pensamientos?

S. Tarık Çetin
fuente

Respuestas:

4

Romper el movimiento en dos pasos es un enfoque anticuado.

Movimiento del mouse para el plano horizontal. Rueda del mouse para plano vertical.

Homeworld hizo un buen trabajo, pero las ruedas del mouse aún no estaban tan desplegadas, por lo que no fueron compatibles.

Todavía puede tener teclas modificadoras para cambiar el movimiento del mouse entre los modos, pero mover el mouse y desplazarse se puede hacer simultáneamente, por lo que es el método más eficiente para el hardware. En el mundo natal, configuras los planos en secuencia uno tras otro, lo que te ralentiza. Sin mencionar que solo se ralentiza al moverse al espacio vacío. Mover a objeto automatizó la trayectoria.

Las otras formas de hacerlo simultáneamente son las dos manos en el teclado o los controles gemelos.

Si su fluidez de movimiento depende de la velocidad, hacer un paso adicional puede matar su flujo. Homeworld se ajusta a su sistema porque no importa si desperdicias uno o dos segundos adicionales al emitir tu orden de movimiento, y puedes estar seguro de que tuvieron en cuenta esa consideración cuando construyeron el ritmo.

Colocación de zoom de PS:

Si el zoom no es una mecánica central y no necesita mantenerlo lo más robusto posible, puede descargarlo.

Maneje el zoom de la misma manera que lo hizo el juego original "Blanco y negro". Zoom mediante el movimiento del mouse + Mantener presionado el botón del mouse (donde el botón es solo el modificador de función entre el movimiento del mapa y el zoom del mapa). Todos los jugadores que he usado coinciden en que "se siente" como el mejor zoom. Recomendaría mantener presionado el mouse 1 y el mouse 2 mientras se usa el modo de zoom (exactamente como lo hizo B & W), pero técnicamente uno de ellos sería suficiente si no tiene un conflicto.

A menudo he recomendado a las personas que instalen el juego para probarlo. Agregue la usabilidad del teclado y es la mecánica más útil y cómoda hasta la fecha que he visto para la navegación de mapas grandes.

Ahora, por supuesto, esto no es un defecto común y tienes que asegurarte de que se lo expliquen a tus usuarios al menos algunas veces. Pero una vez que las personas lo entienden, se sienten muy cómodas con él. Además, estás enseñando a la gente a navegar en 3D. Está obligado a aventurarse fuera de la zona de confort de los controles 2D de cualquier manera.

Si su mouse está demasiado sobrecargado con controles, siempre puede usar una tecla modificadora del teclado o un botón central del mouse. La configuración óptima realmente dependería de tu flujo de juego.

helena4
fuente
Esta respuesta en realidad encaja mejor en este escenario. Pero, ¿cómo debo manejar el zoom si uso mousewhell para este propósito? Sería demasiado poco conveniente manejar el zoom a través del teclado.
S. Tarık Çetin
@ S.TarıkÇetin actualizado.
helena4
9

Romper el movimiento en dos pasos

  1. Seleccione una posición en un plano 2D X / Z ubicado en la posición Y actual de la entidad.
  2. Establezca el desplazamiento (hacia arriba o hacia abajo) desde ese plano.

Esto es similar a cómo Homeworld , uno de los primeros juegos 3D RTS espaciales manejó el movimiento. Funciona muy bien

Romper el movimiento en dos pasos proporciona el mayor control, simplemente porque el mouse es un dispositivo de entrada 2D. Solo puede proporcionar una posición en un plano a la vez. Lo mismo podría lograrse uniendo dos teclas en el teclado para que estén arriba / abajo en el eje Y.

Alternativamente, puede usar el botón derecho del mouse para alternar el modo. Por ejemplo, el clic izquierdo inicia el comando de movimiento y mueve el objetivo en el plano X / Z, manteniendo presionado el botón derecho del mouse para cambiar la posición del eje Y.

ingrese la descripción de la imagen aquí

MichaelHouse
fuente
Hasta ahora, esta parece la opción más lógica. Sin embargo, esperaré, en caso de que a alguien se le ocurra una idea mejor.
S. Tarık Çetin
2

Haga lo que hace EVE en línea: ¡No permita hacer clic y moverse! Nota

Lo que hacen es que crean objetos en el espacio y le permiten hacer clic con el botón derecho sobre ellos (raycast o no) y seleccionar una de las diferentes opciones:

  • Ir al objeto (con diferentes velocidades)
  • Rotar sobre el objeto (en diferentes radios)

Esto le permite moverse solo a lugares relevantes.


Nota (aunque podrían haber cambiado eso últimamente. No han jugado por un tiempo).

Vaillancourt
fuente
Sí, esto resuelve el problema, pero también destruye el aspecto del juego que crea este problema en primer lugar.
S. Tarık Çetin
@ S.TarıkÇetin ¡Sí! Quizás en su caso, esto era lo más lógico. Y tal vez no se aplique a su situación.
Vaillancourt
Por lo que recuerdo, en realidad podrías hacer clic para moverte en Eve. Fue más bien una elección de un tipo de dirección,
MichaelHouse
Hay controles de teclado en Eve que puedes usar para dirigir tu nave, pero al hacerlo estás restringido a velocidades tácticas (por ejemplo, volar desde una estación espacial que está en órbita alrededor del Planeta X a un satélite que también está en órbita alrededor del Planeta X podría tomar un minuto o dos; volar a la luna del Planeta X por control manual tomará al menos 5 minutos). El viaje a alta velocidad solo puede iniciarse seleccionando un destino.
Dan Henderson
3
Hay una técnica para evadir la búsqueda basada en esto: comience a volar a un objetivo distante, pare a la mitad del camino, luego elija un nuevo objetivo en una dirección diferente y vuelva a detenerse a la mitad. Suelta un "marcador" en esta ubicación aislada, y luego podrás volar a este marcador cuando seas atacado y tus perseguidores no podrán volar a alta velocidad en la misma dirección.
Dan Henderson