Noticias

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

[DUDAS] Efecto bala en pared...

Iniciado por daniele_kiro, Mayo 11, 2016, 01:40:16 PM

Tema anterior - Siguiente tema
Mayo 11, 2016, 01:40:16 PM Ultima modificación: Mayo 11, 2016, 01:45:29 PM por daniele_kiro
Estoy metido en un nuevo proyecto y me surge la siguiente duda...Digamos que quiero hacer el siguiente efecto de bala cuando mi personaje dispare contra una pared o algo...var lejos : Transform;
var cerca : Transform;

function Update(){

    var ray = cam.ScreenPointToRay(Vector3(Screen.width * 0.5, Screen.height * 0.5, 0));

    if (Physics.Raycast(ray, hit)){
        lejos = hit.transform;

    if(hit.distance <= 2.2){
        cerca = hit.transform;
        }
                
    if(hit.distance > 2.2){
        cerca = null;
        }
    }else{
        cerca = null;
        lejos = null;
        }
Debug.DrawRay(ray2.origin, ray2.direction*100,
Color.green);
} Con este método se que esta golpeando la "mira" en todo momento y a la hora de hacer el disparo cojo el objeto con el que está colisionando.Mi pregunta es... ¿ Como puedo encontrar el punto exacto en el que colisionó y luego poder instanciar lo que es el agujero de bala?Es un efecto que no todos los juegos tienen y le da un aspecto muy profesional y me gustaría poder incluirlo...Gracias de antemano!!

Mayo 11, 2016, 03:12:14 PM #1 Ultima modificación: Mayo 11, 2016, 03:12:26 PM por Mantis
hit.point te da la pos exacta del impacto

FNK Games  Games Developer  -  Juegos realizados en Unity para iOS y Android



[quote author=Mantis" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35847" data-ipsquote-contentcommentid="130767">hit.point te da la pos exacta del impacto[/quote]Gracias !! Me va perfecto !!He cogido y creado un objeto "quad" y luego dado la posición de el hit.point y luego añadiendo la rotación del objeto donde colisiona queda inmejorable! Por cierto, no se si para estos efectos está bien usar un quad o hay otra forma de introducir la rotación mediante otra cosa. Te lo digo porque en objetos creados por ejemplo "tumbados" y posteriormente puestos de "pie" el quad aplicando la rotación del objeto queda mal...:wacko:

Esta bien con un quad y debe de quedar bien siempre.  Puedes usar  hit.normal para obtener la perpendicular del objeto con el que colisiona y aplicar esa rotación al decall. 

FNK Games  Games Developer  -  Juegos realizados en Unity para iOS y Android



[quote author=Mantis" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35847" data-ipsquote-contentcommentid="130780">Esta bien con un quad y debe de quedar bien siempre.  Puedes usar  hit.normal para obtener la perpendicular del objeto con el que colisiona y aplicar esa rotación al decall. [/quote]Muchas gracias!! ya está solucionado!! pronto subire algo a proyectos cuando tenga algo jugable... ahora me estoy peleando con los controles y con los touch Esta bien con un quad y debe de quedar bien siempre.  Puedes usar  hit.normal para obtener la perpendicular del objeto con el que colisiona y aplicar esa rotación al decall. [/quote]Muchas gracias!! ya está solucionado!! pronto subire algo a proyectos cuando tenga algo jugable... ahora me estoy peleando con los controles y con los touch :wacko:

Etiquetas: