Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

[script disparos] mi trabajo el geofront de evangelion

Iniciado por lu1000, Noviembre 29, 2016, 03:48:04 AM

Tema anterior - Siguiente tema
Noviembre 29, 2016, 03:48:04 AM Ultima modificación: Noviembre 29, 2016, 09:38:33 AM por pioj
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
 

Noviembre 29, 2016, 04:03:38 AM #1 Ultima modificación: Noviembre 29, 2016, 04:07:33 AM por Uli
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,

Noviembre 29, 2016, 09:35:17 AM #2 Ultima modificación: Noviembre 29, 2016, 09:37:14 AM por pioj
emmm... ésto no va aquí. Vamos a ver, céntrate en lo que quieres publicar: 
 

  •    Si quieres mostrarnos el estado de tu proyecto, lo normal es que publiques todo en el foro de Proyectos. 


  •    Por contra, parece que tratas de buscar solución a un problema, o que tienes una consulta; siendo así, el mejor foro para publicar tu duda es la de Mesa de Ayuda/Scripting, y no necesitas mostrar capturas, sólo centrarte en pedir ayuda o información acerca del script de disparos...


Ante la duda, ya te lo muevo yo a Scripting...

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: 
   
   


  •          Si quieres mostrarnos el estado de tu proyecto, lo normal es que publiques todo en el foro de Proyectos. 
          

  •       

  •          Por contra, parece que tratas de buscar solución a un problema, o que tienes una consulta; siendo así, el mejor foro para publicar tu duda es la de Mesa de Ayuda/Scripting, y no necesitas mostrar capturas, sólo centrarte en pedir ayuda o información acerca del script de disparos...
          

  •    

      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

Noviembre 30, 2016, 12:18:42 AM #4 Ultima modificación: Noviembre 30, 2016, 02:52:12 AM por lightbug



   
      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
 
 
 
 
 
 


Etiquetas: