Starcraft 2
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Starcraft 2

Todos los temas relacionados con Starcraft 2.
 
ÍndiceÚltimas imágenesBuscarRegistrarseConectarse

 

 Reglas básicas para los controles en modo TPS

Ir abajo 
2 participantes
AutorMensaje
Visstaralax
Admin
Visstaralax


Mensajes : 161
Fecha de inscripción : 17/10/2010
Edad : 36
Localización : Barcelona

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeJue Dic 09, 2010 4:15 pm

Hola amigos!

He estado investigado como hacer los controles básicos de un TPS (tercera persona). Os cuento.

Primero de todo creas lo necesario: un personaje y cámara.

Explicación de los activadores:

Lo que vamos a hacer es orientar el personaje siempre a los grados de orientación de la cámara. Aquí no hay ningún problema de unidades, ya que si la cámara mira a 90 grados, el personaje cambiará su orientación también a 90 grados. Para podernos desplazar tenemos que crear un activador que ordene a nuestro personaje, que camine hacia su propia posición pero con un desplazamiento de "X" y "Y" puntos. Estos puntos de desplazamiento van a depender de los grados de orientación de la cámara.

El desplazamiento funcionará solamente con el uso de una tecla como los juegos de WOW o Max Payne, aunque se puede añadir A y D para desplazamiento lateral.

¿Por qué necesitamos saber los grados de la cámara?

Lo que necesitamos es un desplazamiento relativo. Me explico. No le podemos decir unas coordenadas concretas al activador, porque siempre nos mandaría a la misma posición del mapa. Tenemos que calcular la posición del personaje, y decirle que vaya a su posición actual más una cierta cantidad de unidades de desplazamiento.

Por ejemplo, si esta en la posición (2,3) y queremos que se desplace, le indicamos que se mueva a la posición (3,3). Entonces se moverá de su posición anterior a la nueva.

¿Cómo sabe a qué coordenada X o Y, tiene que añadir alguna unidad?

Pues es muy fácil. Como la única referencia de orientación es la orientación de la cámara en grados, la obtenemos y con las funciones seno y coseno obtenemos un valor. Por ejemplo, si estamos en la posición (0,0), y la cámara está mirando a 90º; el coseno de 90º es 0, y el seno es 1. Por lo tanto, tenemos la coordenada (0,1).

Vamos a explicar un poco de trigonometría básica para entender el comportamiento de los activadores:

Reglas básicas para los controles en modo TPS Goniometrische-cirkel-sin-cos

Este dibujo se puede interpretar de dos modos:

Imaginaos que vemos a nuestro personaje desde arriba, por lo tanto solo veríamos el pelo o la cabeza de este. La circunferencia imaginaria de su alrededor, describe la posible orientación de la cámara, es decir, todas. Desde 1 grado hasta los 360 grados. Donde esta la X serían 0 grados o 360, y donde esta la Y, tendríamos 90 grados.

Otro modo de ver esta imagen es como una cuadrícula o un rectángulo definido por coordenadas (x,y). En el centro de la imagen, sería la posición relativa (0,0). Donde está la X, sería la posición relativa (X,0) o también le podríamos decir como (1,0) y donde esta la Y es la posición relativa (0,Y) o (0,1). En medio de la X y la Y, tendríamos un valor de (0.707,0.707).

Pues bien, la cámara solo entiende grados o radiantes (el editor solo utiliza los grados) y el personaje solo entiende de coordenadas. Por lo tanto, tenemos que transformar los grados de la cámara en coordenadas relativas X,Y . Obtendremos un vector que indicará hacia donde tiene que ir el personaje, y con un "dar orden" le mandamos las coordenadas de destino de cada moviemiento.

Cread un activador igual a este:

Cam
Eventos
Partida -Inicialización del mapa
Variables locales
Condiciones
Acciones
Cámara -Aplicar Cámara 001 al jugador 1 durante 0.0 segundos con una Velocidad existente% velocidad inicial, 10% de deceleración y Incluir objetivo
General -Esperar 0.1 Tiempo de la partida segundos
Cámara -Seguir a jugador 1 (Grupo de unidad(Fantasma [78.80, 74.45])) con la cámara y Limpiar objetivo actual
Cámara -Encendido la rotación del ratón de cámara para el jugador 1
Cámara -Encendido modo relativo de bloqueo de cámara de ratón para el jugador 1

Este activador activa las características propias de una cámara de un shooter en 1era o 3era persona.

Orientacion
Eventos
Cronómetro -Cada 0.1 segundos de Tiempo de la partida
Variables locales
Condiciones
Acciones
Unidad -Orientar Fantasma [78.80, 74.45] hacia (Viraje de cámara actual para el jugador 1) durante 0.2 segundos

Con este, lo que vamos a conseguir es que el personaje tenga la misma orientación que la cámara.

Activar moverse
Eventos
IU -El jugador 1 pulsa la tecla W Abajo con mayús Excluir, control Excluir, alt Excluir
Variables locales
Condiciones
Acciones
Activador -Ejecutar Me muevo W (Ignorar condiciones, No esperar hasta que acabe)

---------

Parar moverse
Eventos
IU -El jugador 1 pulsa la tecla W Arriba con mayús Excluir, control Excluir, alt Excluir
Variables locales
Condiciones
Acciones
Activador -Detener todas las estancias de Me muevo W


---------

Me muevo W
Eventos
Partida -Inicialización del mapa
Variables locales
Grados = (Viraje de cámara actual para el jugador 1) <Real>
Condiciones
Acciones
Variable -Establecer Grados = (Viraje de cámara actual para el jugador 1)
Unidad -Ordenar a Fantasma [78.80, 74.45] ( Mover seleccionando (Compensación de (Posición de Fantasma [78.80, 74.45]) por ((Cos(Grados)), (Sen(Grados))))) (Reemplazar órdenes existentes)
General -Esperar 0.1 Tiempo de la partida segundos
Activador -Ejecutar (Activador actual) (Ignorar condiciones, No esperar hasta que acabe)


Con estos últimos activadores, obtenemos los grados del viraje (orientación), transformamos los grados en coordenadas (x,y), creamos el vector y damos la orden de desplazamiento. Además, esto ocurre cuando pulsas la W. Si la dejas de pulsar, el personaje se queda parado.

Espero que sea de mucha ayuda Smile





Última edición por Visstaralax el Lun Dic 13, 2010 2:23 pm, editado 2 veces
Volver arriba Ir abajo
https://starcraft2.forosactivos.net
Bélsel
Zeratul
Bélsel


Mensajes : 112
Fecha de inscripción : 10/11/2010

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeDom Dic 12, 2010 5:49 pm

Mucho más sencillo:


http://forums.sc2mapster.com/resources/trigger-libraries/7277-third-person-shooter-tps-engine-download-if-you-need/



Es gratis, y el autor lo ha dejado libre para usar en nuestros propios mapas.
Volver arriba Ir abajo
Visstaralax
Admin
Visstaralax


Mensajes : 161
Fecha de inscripción : 17/10/2010
Edad : 36
Localización : Barcelona

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeLun Dic 13, 2010 2:58 pm

Realmente bueno y completo. Espero que muchos usuarios lo puedan ver!!
Volver arriba Ir abajo
https://starcraft2.forosactivos.net
Visstaralax
Admin
Visstaralax


Mensajes : 161
Fecha de inscripción : 17/10/2010
Edad : 36
Localización : Barcelona

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeLun Dic 13, 2010 8:14 pm

Estoy creando un shooter de terror (usando los activadores del link), y de momento tiene muy buena pinta. Pero tengo un problema, los zerglings los detecta bien y si disparas, le produces daño, pero si los creas con activadores ya no funciona.

Es decir, que lo que hay que modificar en los activadores es:

Set Enemy Unit Height
Eventos
Variables locales
Condiciones
Acciones
------- Set custom height values to each enemy unit used on the map, since the triggers can't gather this information by themselves
Grupo de unidad -Seleccionar cada unidad de (Unidades en (Mapa entero) que tengan la alianza Enemigo con el jugador 1 que coincida con Excluido: Misil, Muerto, Oculto, con como mucho Cualquier cantidad) y hacer (acciones)
Acciones
General -Si (condiciones) entonces hacer (acciones), si no (acciones)
Si
(Tipo de unidad de (Unidad seleccionada)) == Zergling
Entonces
Unidad -Establecer 0 valor personalizado (Unidad seleccionada) a 0.5
Si no
General -Si (condiciones) entonces hacer (acciones), si no (acciones)
Si
(Tipo de unidad de (Unidad seleccionada)) == Soldado
Entonces
Unidad -Establecer 0 valor personalizado (Unidad seleccionada) a 0.5
Si no


Dice: Set custom height values to each enemy unit used on the map, since the triggers can't gather this information by themselves.

¿Entonces que tengo que hacer para que el activador consiga la información?
Volver arriba Ir abajo
https://starcraft2.forosactivos.net
Bélsel
Zeratul
Bélsel


Mensajes : 112
Fecha de inscripción : 10/11/2010

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeJue Dic 16, 2010 8:34 pm

Te refieres a q solo le puedes dar a los zerglings o a q si creas un zergling nuevo no le puedes dar?

a lo primero, te digo lo tienes q copiar la parte desde set zergling 0.3 y pegarla en el ultimo si no.... entonces coges y le cambias el tipo, y la altura al monigote (soldado es 1) el gusano nydus es 1.3 el ultralisco 1.3 y así con todos...

prueba a decir en otro trigger

every 0.5 seconds select all (last created units) and if select unit = terran marine set custom value 0 to 1 o algo así, te lo digo en ingles porque en español no se decirlo (maldito editor del mundo de warcraft)
Volver arriba Ir abajo
Visstaralax
Admin
Visstaralax


Mensajes : 161
Fecha de inscripción : 17/10/2010
Edad : 36
Localización : Barcelona

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeVie Dic 17, 2010 12:01 am

Lo que quería decir es que cuando creo un zergling no le puedo disparar. Según aquella pagina decía que los triggers no tienen suficiente información. Pero bueno, lo que hago es enterrarlos, y desenterrarlos cuando lo necesito xD

No siento, pero no entiendo demasiado lo que me has puesto en inglés! Y por cierto, lo de los números estos de 0.6, 1.3 que significan? Porque la descripción dice: número personalizado de unidad, y no entiendo que significa...
Volver arriba Ir abajo
https://starcraft2.forosactivos.net
Visstaralax
Admin
Visstaralax


Mensajes : 161
Fecha de inscripción : 17/10/2010
Edad : 36
Localización : Barcelona

Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitimeJue Ene 13, 2011 12:58 pm

La respuesta está en que tienen que estar creados ya de por si, si lo creas con activadores no funciona. No tiene lógica pero es así.
Volver arriba Ir abajo
https://starcraft2.forosactivos.net
Contenido patrocinado





Reglas básicas para los controles en modo TPS Empty
MensajeTema: Re: Reglas básicas para los controles en modo TPS   Reglas básicas para los controles en modo TPS Icon_minitime

Volver arriba Ir abajo
 
Reglas básicas para los controles en modo TPS
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Para mis usuarios....
» ¿Cómo se hace para gestionar las mejoras de unidades?
» Mini-juego para entretenerse
» Ayuda para un mapa que estoy haciendo
» Grandioso y complejo mapa para 1 jugador

Permisos de este foro:No puedes responder a temas en este foro.
Starcraft 2 :: Editor de mapas :: Tutoriales avanzados-
Cambiar a: