Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: lu1000 en Noviembre 29, 2016, 03:48:04 AM

Título: [script disparos] mi trabajo el geofront de evangelion
Publicado por: lu1000 en Noviembre 29, 2016, 03:48:04 AM
hola gente
 
aqui les dejo mi trabajo para que lo vean, estoy algo atascado con los script por que no entiendo nada y me esta sacando canas, si alguien sabe de scrip de disparos y armas que me mande un tutorial por que soy re menso gracias
 
este es el geofront un refugio de defensa de el anime de evangelion
 
este es el primer video
 


   
eature=oembed" width="459">

 
 
 
en este ya manejo otro poco mejor
 


   
eature=oembed" width="459">

 
 
 
y este ultimo tiene algunas mejoras pero las tuve que borrar por que me tiraban error
 
 
 


   
eature=oembed" width="459">

 
 
 
cualquier ayuda es buena
 
 
 
pd: la ortografía no es lo mio
 
(http://i.imgur.com/1ZwIrtb.png)
Título: [script disparos] mi trabajo el geofront de evangelion
Publicado por: Uli en Noviembre 29, 2016, 04:03:38 AM
Hola, no conozco Evangelion así que nada más te notifico de errores ortográficos en la sección de créditos, "diSeño", "renderiZado". ¿Evangelion es una serie del genero mecha?
 
Tutoriales de disparo hay muchos, incluso oficiales de Unity. Pásate por Unity Learn (Conocer) en la web oficial...
 
Saludos,
Título: [script disparos] mi trabajo el geofront de evangelion
Publicado por: pioj en Noviembre 29, 2016, 09:35:17 AM
emmm... ésto no va aquí. Vamos a ver, céntrate en lo que quieres publicar: 
 

Ante la duda, ya te lo muevo yo a Scripting...
Título: [script disparos] mi trabajo el geofront de evangelion
Publicado por: lu1000 en Noviembre 29, 2016, 10:13:53 PM
Cita de: Uli date=1480388618Hola, no conozco Evangelion así que nada más te notifico de errores ortográficos en la sección de créditos, "diSeño", "renderiZado". ¿Evangelion es una serie del genero mecha?
   
   
      Tutoriales de disparo hay muchos, incluso oficiales de Unity. Pásate por Unity Learn (Conocer) en la web oficial...
   
   
      Saludos,
   


es genero tipo mecha pero no a la ves, los evas son seres organicos gigantes sin alma ni mente, en cuanto al menu de inicio lo borre por que me daba errores
 
 
 
Cita de: pioj date=1480408517emmm... ésto no va aquí. Vamos a ver, céntrate en lo que quieres publicar: 
   
   
      Ante la duda, ya te lo muevo yo a Scripting...
   


disculpa es que usualmente soy un desastre en los foros y termino publicando en cualquier lugar 
 
 
 
a los 2 gracias por la data
Título: [script disparos] mi trabajo el geofront de evangelion
Publicado por: lightbug en Noviembre 30, 2016, 12:18:42 AM



   
      si alguien sabe de scrip de disparos y armas
   

[/quote]
 
Hola, mira primero que nada tenes que plantear que vas a disparar, de que forma, a que vas a disparar, Si lo que recibe el disparo tiene (o debe tener) un componente de salud, podes arrancar por hacer un script que lleve registro de la salud del objeto, algo bien basico:
 

private int salud = 100;
public void QuitarSalud(int cantidad)
{
salud -= cantidad;
if(salud < )
   salud = ;
}
public void DarSalud(int cantidad)
{   
salud += cantidad;
if(salud > 100)
   salud = 100;
}
public bool EstaMuerto()
{
if(salud == ){
      return true;
    }else{
    return false;
    }
}

 
(Tambien podrias usas propiedades con los getters y setters)
 
Luego te centras en la mecanica de disparo.Disparar se puede hacer de dos formas. Usando un Cast (ray, line u otro tipo, balas (generalmente)) y la otra es instanciando un prefabricado que haga de proyectil (Misiles por ejemplo).
 
Si es con un cast, tenes que verificar si estas "casteando" algun objeto, si ese objeto se encuentra en cierta capa, y luego verificar si cumple con otras especificaciones que vos les das
 
te dejo un ejemplo:
 

//Ejemplo con LineCast , OJO lo escribi asi nomas seguro hay algun errorsito
RayCastHit rhit;
Vector3 posOrigen = transform.position; // la que quieras
Vector3 posDestino = transform.position + transform.forward * rango; //del origen una distancia "rango" para adelante
// Si toca algo, lo que sea (que este permitido en la matrix de colisiones)
// La informacion de lo que toca la guarda en RayCastHit (el punto, la normal, el collider con el que toca, la distancia, etc)
if (Physics.Linecast (posOrigen, posDestino, out rhit))   
{
if (rhit.collider.GetComponent<Salud>())   //Si tiene el componente salud quita vida
      rhit.collider.GetComponent<Salud>().QuitarVida(25);
         
}
   

 
Si es instanciando un objeto la logica es, el arma se encarga de poner el proyectil...punto, El proyectil se encarga de moverse y hacer daño. Lo que suelo hacer con mis enemigos es instanciar un proyectil, luego el Disparador (enemigo) le pone la direccion (Con un lookAt), luego el proyectil lo unico que hace en su Update es moverse para adelante. Tambien le agrego siempre un TimeKiller.cs que hace que si el proyectile vive mas de 20 segundos se Destruya. Podes usar el mismo Destroy(objeto, tiempo).
 
Por ultimo podes usar un trigger o una colision para detectar si tocó algo y en base a eso aplicar lo que tengas que aplicar (como en el ejemplo anterior "QuitarVIda") luego Destruirse instantaneamente, o Instanciar una explosion (claro esto es mas vistoso y divertido).
 
Saludos
 
 
 
 
 
 
Título: [script disparos] mi trabajo el geofront de evangelion
Publicado por: lu1000 en Noviembre 30, 2016, 12:48:25 AM
gracias #lightbug