Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: J4v1v1g2 en Julio 30, 2017, 06:08:18 PM

Título: Mover Gameobject al final Raycast
Publicado por: J4v1v1g2 en Julio 30, 2017, 06:08:18 PM
Hola de nuevo, estoy preparando un nuevo script y estoy algo verde con los raycast, la intención es desplazar en el update un objecto al final del raycast, donde colisiona contra el collaider, el código que ,llevo por el momento es:
 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class laser : MonoBehaviour
{
    public float TargetDistance;
    public GameObject Esfera;
 
    // Update is called once per frame
    void Update()
    {
        RaycastHit TheHit;
        if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), out TheHit))
        {
            TargetDistance = TheHit.distance;
        }
 
    }
}

 
pongo una imagen también para aclarar un poco mas, a ver si con suerte alguien me puede echar una mano.
 
 
 
 (//<fileStore.core_Attachment>/monthly_2017_07/img_unity.jpg.bc5eedf49e5eb52aea6058b8ca3e8b94.jpg)
Título: Mover Gameobject al final Raycast
Publicado por: lightbug en Julio 30, 2017, 07:36:17 PM
Hola, No te interesa la distancia, (o por lo menos para desplazarlo al final del raycast), sino el punto espacial (Vector3), "TheHit.point". Si haces:
 

Esfera.transform.position = TheHit.point;

 
deberia hacer el truco
 
Si no sabes la info que necesitas pasa por las referencias que tenes lo necesario:
 
https://docs.unity3d.com/ScriptReference/RaycastHit.html (https://docs.unity3d.com/ScriptReference/RaycastHit.html)
 
Saludos
Título: Mover Gameobject al final Raycast
Publicado por: J4v1v1g2 en Julio 30, 2017, 08:46:53 PM
oki voy a echarle un ojo, que me urge bastante solucionar esto ^^
Título: Mover Gameobject al final Raycast
Publicado por: J4v1v1g2 en Julio 30, 2017, 11:03:58 PM
Gracias coder,por la ayuda, una ultima cosa, ahora necesito que la esfera del gameobject siempre tenga el mismo eje apuntando hacia la cámara, mas o menos que por donde que sección tendría que documentarme, que en esto exactamente no se ni por donde empezar a buscar ^^'. 
 
 
 
 
 
 (//<fileStore.core_Attachment>/monthly_2017_07/img_unity1.jpg.2e4dbd17571c3bd5466804f9613eb045.jpg)
Título: Mover Gameobject al final Raycast
Publicado por: lightbug en Julio 30, 2017, 11:16:05 PM
seccion Quaternions ... buena suerte....la vas a necesitar
Título: Mover Gameobject al final Raycast
Publicado por: Braltor en Julio 30, 2017, 11:19:46 PM
es mas facil usar transform.LookAt()
Título: Mover Gameobject al final Raycast
Publicado por: lightbug en Julio 30, 2017, 11:50:23 PM
Cita de: Braltor date=1501449586es mas facil usar transform.LookAt()
   


Si jaja me habia olvidado. Osea me refereria a que si lo que buscas es cambiar la orientacion la seccion logica a buscar seria quaternions, justo da que transform tiene lookAt y viene como anillo al dedo.