Pregunta

Estoy tratando de utilizar el método Physics.Raycast, pero me da errores diciendo:

  

El partido mejor método sobrecargado para 'UnityEngine.Physics.Raycast (UnityEngine.Vector3, UnityEngine.Vector3, flotador, int)' tiene algunos argumentos no válidos.

Es extraño porque tanto itellisense y la documentación me dicen que esto está permitido:

RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, hit)) {
    print(hit.point.ToString());
    selection.transform.Translate(hit.point - selection.transform.position);
}

¿Alguna idea?

¿Fue útil?

Solución

Creo que se necesita la palabra clave antes de "éxito" en Physics.Raycast (rayos, golpear).

RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)) {
    print(hit.point.ToString());
    selection.transform.Translate(hit.point - selection.transform.position);
}

Otros consejos

En C # debemos usar un precursor a cabo parámetro antes de que llegara variable en Para obtener la función de asignar los datos a la misma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top