Son los movimientos que se asignan en tu juego, podría ser como para un enemigo o para cualquier otro fin, también son los mecánicas del juego que le dan vida a tu juego son diferentes tipos de movimientos que se usan o se emplean en nuestro juego a continuación se mostraran algunas mecánicas que casi siempre usamos en nuestros juegos.
Es la mecánica de Ping Pong que va de una posición a otra como cuando se mueve de un punto A a B y puede variar en cuanto la velocidad del movimiento como también puede variar el los ejes ya sea X,Y,Z.
para poder realizar este mecánica en el unity lo primero que tenemos que hacer es crearnos un script en nuestro juego donde tenemos que poner el siguiente código que nos servirá para moverlo.
a continuación se muestra todo el script que mas abajo indicaremos paso a paso el siguiente código:
como ya sabemos lo primero son las librerías que vamos a usar las que vienen por defecto cuando creamos un script nuevo son las siguientes:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
tambien nuestra clase publica que ya se crear por defecto cuando abrimos un nuevo script:
public class Mecanica_ping_pong : MonoBehaviour
{
estas son las variables que vamos usar de tipo float para nuestra velocidad, inicio y final.
float velocidad;
float inicio;
float final;
nuestra variable de tipo publico que nos servirá para poder cambiar en que eje queramos que se mueva nuestro objeto.
public char eje='x';
void Start()
{
dentro de nuestro void star los que estamos indicando es la velocidad a la que queramos que se mueva y también se le esta signando que sea Ramdom para que la velocidad no sea constante y baya variando.
velocidad =5+10*Random.value;
en aquí estamos indicando hasta donde será nuestra posición final de su novenito ya depende del creador hasta donde quiere que se mueva el objeto.
final=30;
también vamos a trabajar con un switch para poder inicializar en que eje queramos que se mueva ya sea en el eje X,Y,Z.
switch(eje)
{
case 'x':inicio=transform.position.z;break;
case 'y':inicio=transform.position.y;break;
case 'z':inicio=transform.position.z;break;
}
}
void Update()
{
dentro de nuestro void Update que viene por defecto también nos estamos creando un switch para poder escoger cada caso de uso ya sea en las diferentes posiciones que queremos que se mueva en X,Y,Z.
donde también le estamos asignando el inicio mas la mecánica de ping pong.
switch(eje)
{
case 'x' :transform.position=new Vector3(inicio+Mathf.PingPong(velocidad*Time.time,final),transform.position.y,transform.position.z); break;
case 'y' :transform.position=new Vector3(transform.position.x,inicio+Mathf.PingPong(velocidad*Time.time,final),transform.position.z); break;
case 'z' :transform.position=new Vector3(transform.position.x,transform.position.y,inicio+Mathf.PingPong(velocidad*Time.time,final)); break;
}
}
}
final mente ya una ves creado y compilado nuestro script lo que tenemos que hacer es asignarle a nuestro objeto el cual queremos que se mueva.
una ves asignado a nuestro objeto lo damos en correr a nuestro juego y se ira moviendo nuestro objeto de la siguiente manera.
Es la mecánica de Ping Pong que hace que haga una escalación de nuestro objeto que se estire de un lado para otro y podemos asignarle la velocidad del movimiento como también puede variar el los ejes ya sea X,Y,Z.
para poder realizar este mecánica en el unity lo primero que tenemos que hacer es crearnos un script en nuestro juego donde tenemos que poner el siguiente código que nos servirá para moverlo.
a continuación se muestra todo el script que mas abajo indicaremos paso a paso el siguiente código:
estas son las librerías que por defecto se nos crea al crear un nuevo script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Mecanica_escalacion : MonoBehaviour
{
estas son las variables que vamos a usar donde le estamos asignando una velocidad un final y una variable de tipo publico para poder cambiar en que eje queramos que se mueva nuestro objeto.
float velocidad;
public float final=10;
public char eje='y';
float inicio;
void Start()
{
nuestra velocidad será de tipo randomico donde ira variando en cuanto a la velocidad asignada.
velocidad=5+11*Random.value;
}
void Update()
{
en nuestro void Update que viene por defecto estamos creando un switch para poder mover en el eje X,Y,Z que nosotros queramos dándole la mecánica de ping pong.
switch(eje)
{
case 'x':transform.localScale=new Vector3(Mathf.PingPong(velocidad*Time.time,final),1,1);break;
case 'y':transform.localScale=new Vector3(1,Mathf.PingPong(velocidad*Time.time,final),1);break;
case 'z':transform.localScale=new Vector3(1,1,Mathf.PingPong(velocidad*Time.time,final));break;
}
}
}
final mente ya una ves creado y compilado nuestro script lo que tenemos que hacer es asignarle a nuestro objeto al cual queremos asignarle la mecánica.
una ves asignado a nuestro objeto lo damos en correr a nuestro juego y se ira moviendo nuestro objeto de la siguiente manera haciendo las escalaciones correspondientes que se le asigno en nuestro script.
Es la mecánica de Ping Pong que hace que haga una escalación de nuestro objeto que se estire de un lado para otro y podemos asignarle la velocidad del movimiento como también puede variar el los ejes ya sea X,Y,Z.
para poder realizar este mecánica en el unity lo primero que tenemos que hacer es crearnos un script en nuestro juego donde tenemos que poner el siguiente código que nos servirá para moverlo.
a continuación se muestra todo el script que mas abajo indicaremos paso a paso el siguiente código:
estas son las librerías que por defecto se nos crea al crear un nuevo script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Mecanica_rotar : MonoBehaviour
{
estas son las variables que vamos a usar donde le estamos asignando una velocidad y una variable de tipo publico para poder asignarle un objeto en el cual queramos que rote nuestro objeto.
float velocidad;
public GameObject objetivo;
void Start()
{
nuestra velocidad será de tipo randomico donde ira variando en cuanto a la velocidad asignada.
velocidad=120+120*Random.value;
}
void Update()
{
se le esta asignando una transformación en la posición del vector3 donde rotara nuestro objeto también donde le estamos asignando una velocidad.
transform.RotateAround(objetivo.transform.position, Vector3.up, velocidad*Time.deltaTime);
}
}
final mente ya una ves creado y compilado nuestro script lo que tenemos que hacer es asignarle a nuestro objeto al cual queremos asignarle la mecánica.
seguidamente tenemos que asignarle un objeto en el cual queremos que gire nuestro objeto como se ve en el ejemplo le estamos asignando un cubo.
una ves asignado a nuestro objeto lo damos en correr a nuestro juego y se ira moviendo nuestro objeto de la siguiente manera.