Lo que quiero es simular el comportamiento de un arma de francotirador. Un disparo presenta dos características, precisión y exactitud. La precisión es un # aleatorio y está determinada por el eje x y la exactitud un # exacto y está determinada por el eje, ambos del punto final, el que va a colisionar con el objeto. Tengo un disparo es un vector, donde el origen lo tomo a partir de la posición de un objeto y el punto final creo que es el que debería tener esos parámetros transformados en x y y.
Este es el código que estoy utilizando para el rayo, para la posición.
origen = Camera.main.ScreenPointToRay (orign.position);
precision=Random.Range (80,100);
Vector3 colision = transform.position;
colision.y +=exactitud;
colision.x *= precision;
transform.position=colision;
if (Physics.Raycast (origen, out colision, Mathf.Infinity)) {
//puntos del rayo
line.SetPosition(0,orign.position);
line.SetPosition(1,colision);//me aparece error en ésta línea. El siguiente:
The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, float, int)’ has some invalid arguments